Zaimportowałem projekt maven do STS, kiedy uruchamiam projekt aktualizacji aktualizacji, otrzymuję:
"Updating Maven Project". Unsupported IClasspathEntry kind=4
Czy można to obejść?
Zaimportowałem projekt maven do STS, kiedy uruchamiam projekt aktualizacji aktualizacji, otrzymuję:
"Updating Maven Project". Unsupported IClasspathEntry kind=4
Czy można to obejść?
Odpowiedzi:
Ten problem został rozwiązany w m2e 1.5.0, która jest dostępna dla Eclipse Kepler (4.3) i Luna (4.4)
Zobacz https://bugs.eclipse.org/bugs/show_bug.cgi?id=374332#c14
Problem jest spowodowany faktem, że STS (Spring IDE / Eclipse), a także Eclipse i inne IDE oparte na Eclipse, używają wtyczki m2e (clipse), ale to eclipse: eclipse zostało prawdopodobnie uruchomione w projekcie. Gdy m2e napotka wpis „var” .classpath, zgłasza ten błąd.
Witryny aktualizacji są podane pod następującym adresem URL:
http://eclipse.org/m2e/m2e-downloads.html
Jeśli nie możesz użyć m2e 1.5.0 z jakiegokolwiek powodu, to:
Wyłącz naturę maven dla projektu (poprzez menu prawym przyciskiem myszy)
Uruchom mvn eclipse:clean
(gdy twój projekt jest otwarty w STS / eclipse). W zależności od czasu może być konieczne odświeżenie lub wykonanie dwóch zmian w projekcie przed ponownym włączeniem natury maven. Powinieneś być w stanie zobaczyć, że twój projekt stracił naturę Maven. (The eclipse:clean
cel tylko usuwa .project
, .classpath
a .settings/
plików / katalogów. Można też po prostu usunąć te pliki (ponownie , gdy projekt jest otwarty ) zamiast biegać mvn eclipse:clean
).
Ponownie włącz naturę maven.
(W większości przypadków można to zrobić, klikając prawym przyciskiem myszy projekt w okienku eksploratora pakietów, a następnie wybierając polecenie „Konfiguruj” -> „Konwertuj na projekt Maven”)
classpathentry
z kind
atrybutem ustawionym na var
.
Kliknij prawym przyciskiem myszy swój projekt, wybierz Maven -> Usuń Maven Nature.
Otwórz terminal, przejdź do folderu projektu i zrób mvn eclipse:clean
Kliknij projekt prawym przyciskiem myszy i wybierz „Konfiguruj -> Konwertuj na projekt Maven”
Teraz zniknął „Unsupported IClasspathEntry kind = 4 Eclipse Scala”.
mvn eclipse:clean
nie jest mvn clean
(dałem się zwieść nie zwracając uwagi).
Czasami nawet ponowne importowanie projektu Maven nie będzie działać. Prawidłowa aktualizacja projektu w środowisku Eclipse nie jest procesem deterministycznym. Jedyną w 100% bezpieczną procedurą, którą znalazłem, jest:
mvn eclipse:clean
, uruchom ponownie, trzymaj kciuki i módl się 3 razy.mvn eclipse:clean
, ponownie zaimportuj odświeżenie, módl się i użyj siły .Upewnij się, że wersja uruchomionej wtyczki m2e (clipse) jest co najmniej 1.1.0
Zamknij projekt maven - kliknij prawym przyciskiem myszy „Zamknij projekt”
lub
Czy próbowałeś:
Widzę wszystkie inne odpowiedzi. Znalazłem dla mnie prostszy sposób.
Właśnie usunąłem wszystkie wiersze w .classpath (edycja za pomocą Eclipse) zawierające var i użyłem projektu maven -> update bez błędu.
Ten błąd jest również zgłaszany, jeśli polecenie aktualizacji jest używane w projekcie opracowanym dla pokrycia kodu za pomocą Clover.
Aby rozwiązać w tym scenariuszu: Odznacz instrumenty folderów projektu, które chcesz zaktualizować. Ponownie uruchom aktualizację maven, a następnie instrument do pokrycia kodu.
Próbowałem kroków Marco, ale bez powodzenia. Zamiast tego, jeśli po prostu pobierzesz najnowszą wtyczkę m2e z linku, który on zapewnia, i klikniesz prawym przyciskiem myszy każdy projekt -> Maven -> Aktualizuj zależności, błąd nadal pojawia się, ale problem został rozwiązany. To znaczy, że ostrzeżenia znikają w widoku Markery. Ten problem napotkałem po zaimportowaniu niektórych projektów do SpringSource Tool Suite (STS). Gdy wróciłem do instalacji Eclipse Juno, pojawiały się ostrzeżenia. Widząc, że mam już m2e 1.1, wypróbowałem kroki Marco bezskutecznie. Jednak uzyskanie najnowszej wersji naprawiło to.
Nie mogłem uzyskać mvn eclipse: clean itp. Do pracy z Keplerem.
Jednak zmieniłem tworzenie i rozszerzanie zmiennych, tak aby używały zewnętrznych słoików w mojej ścieżce klas zaćmienia. Znalazło to odzwierciedlenie w zmiennej var w mojej ścieżce .classpath.
To rozwiązało problem. Byłem w stanie zrobić aktualizację Maven.
Ten problem ( https://bugs.eclipse.org/394042 ) został naprawiony w m2e 1.5.0, który jest dostępny dla Eclipse Kepler i Luny z tego repozytorium p2:
http://download.eclipse.org/technology/m2e/releases/1.5
Jeśli używasz również m2e-wtp, musisz również zainstalować m2e-wtp 1.1.0:
Uaktualnienie z Kepler do Luna działało dla mnie.
Właśnie dodałem niektóre komponenty do obsługi Java 1.8. Wygląda na to, że nie były tak kompatybilne, jak bym chciał, lub że pomieszałem niewłaściwe. To naprawdę spowodowało wiele problemów. Próba aktualizacji systemu zgłosiła błędy, ponieważ nie mogły spełnić niektórych zależności. Ulepszenia Maven nie działały. Próbowałem wielu rzeczy.
Jeśli więc nie ma powodu, aby unikać aktualizacji, po prostu dodaj repozytorium luna do dostępnych witryn oprogramowania (Luna http://download.eclipse.org/releases/luna/ ) i „sprawdź dostępność aktualizacji”. Lepiej jest mieć wszystkie komponenty w tej samej wersji i jest kilka nowych, fajnych funkcji.
Próbowałem wszystkich kroków wymienionych tutaj i podobnych pytań, ale nie mogłem rozwiązać tego problemu. Nie mogłem ani rozwiązać problemu, ani zaktualizować mojego m2eclipse. Zainstalowałem więc Eclipse Luna i to rozwiązało mój problem ... chociaż to znaczy, że musiałem poświęcić około 45 minut na skonfigurowanie całego środowiska w moim obszarze roboczym.
Używam Eclipse 4.3.2 (Kepler) z M2E 1.4.x i kilkakrotnie poradziłem sobie z tym problemem!
W moim przypadku polecenie „mvn eclipse: eclipse” generuje również konfigurację Checkstyle, PMD i Findbugs, więc „mvn eclipse: clean” mi nie pomaga, ponieważ ponownie usuwa wszystkie te pliki konfiguracyjne.
Najlepszym rozwiązaniem dla mnie było usunięcie wszystkich plików „.classpath”:
find . -name ".classpath" -delete
a następnie zaimportuj projekt do zaćmienia.
Przed zaimportowaniem projektu należy go przekonwertować na projekt Eclipse mvn eclipse: eclipse Następnie znalazłem następujący błąd. Wystąpił błąd wewnętrzny podczas: „Importowanie projektów Maven”. Nieobsługiwany IClasspathEntry kind = 4
Gdzie jest wartość kind = "var", której M2E nie rozpoznaje i dlatego zgłasza błąd.
Teraz wpisz to. mvn eclipse: clean
Teraz odśwież projekt zaćmieniem lub ponownie zaimportuj.