Mamy projekt utworzony z mavenem w celu rozwiązania zależności. Zwykle działa dobrze, ale teraz próbuję go skompilować i uruchomić na nowym komputerze i mam problem z brakującymi zależnościami w Eclipse.
Zabawne jest to, że jeśli uruchomię "pakiet mvn" w konsoli lub w zaćmieniu, to działa dobrze, a nawet wywołuje wojnę zawierającą wszystkie potrzebne pliki jar. Tylko Eclipse skarży się z komunikatem „Projekt nie został zbudowany, ponieważ jego ścieżka budowania jest niekompletna. Nie można znaleźć pliku klasy dla org.slf4j.Logger ...”. Jeśli porównam projekt z innym komputerem (na którym projekt działa dobrze), zauważę, że brakuje kilku bibliotek na liście „Zależności Mavena” w Eclipse. Mimo że są w stanie wojny pakietowej i można je znaleźć również w folderze repozytorium.
Więc, jar-s są tam, po prostu Eclipse nie wyświetli ich wszystkich w "Zależnościach Mavena". Co mogę zrobić?
Komputer działa w systemie Windows 7 z 64-bitowym oprogramowaniem java i eclipse.
Odpowiedzi:
Cóż, próbowałem wszystkiego, co tutaj zamieszczono, niestety nic nie działa w moim przypadku. Więc próbując różnych kombinacji wyszedłem z tą, która rozwiązała mój problem.
1) Otwórz plik .classpath w katalogu głównym projektu twojego eclipse.
2) Wstaw następujący wpis do pliku:
Następnie odbuduj projekt w eclipse (Projekt-> Czysta kompilacja). Możesz teraz sprawdzić w ścieżce budowania języka Java swojego projektu na karcie Biblioteki uwzględnione zależności Mavena:
źródło
Problem rozwiązany!
Nie wiem, co dokładnie go rozwiązało, ale w Eclipse zrobiłem 4 rzeczy:
Wydaje mi się, że były to zależności od aktualizacji, ponieważ zaraz po pierwszych dwóch nie było żadnych zmian.
źródło
Jestem również nowy w Eclipse i mam podobny problem, w którym Eclipse po prostu nie rozpoznaje instrukcji importu, mimo że wszystkie znaki wskazują na to, że zależność została pomyślnie pobrana.
Powinieneś sprawdzić, czy plik zależności został faktycznie pobrany, przechodząc do wiersza poleceń i wpisując
mvn dependency:tree
Jeśli widzisz tam swój pakiet, ale Eclipse go nie potwierdza, rzeczą, która działa dla mnie (czasami), jest przejście do terminala, cd do folderu projektu i wpisanie
mvn eclipse:clean
następniemvn eclipse:eclipse
Na koniec odśwież projekt w Eclipse
Nie wiem, dlaczego to działa, a czasami nie działa raz, a potem znowu działa ... więc warto spróbować!
źródło
Mój projekt został właśnie schrzaniony. Oto jak to naprawiłem dla Eclipse Indigo x64 (J2EE 3.7.3):
Mam nadzieję, że to komuś pomoże. :)
źródło
mvn eclipse:eclipse
co jest po prostu okropne.<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>antlr.tuto.calco</groupId> <artifactId>CalculatriceAntlr</artifactId> <version>0.0.1-SNAPSHOT</version> </project>
Miałem ten problem z zależnościami, które zostały utworzone w innych projektach. Pobrane zależności innych firm pokazały się dobrze w ścieżce kompilacji, ale nie w bibliotece, którą utworzyłem.
SOLUTION:
W projekcie, który nie buduje się poprawnie,Kliknij projekt prawym przyciskiem myszy i wybierz Właściwości, a następnie Maven.
Usuń zaznaczenie pola „ Rozwiąż zależności z projektów Workspace ”
Kliknij Zastosuj, a następnie OK.
Ponownie kliknij prawym przyciskiem myszy projekt i wykonaj Maven-> Aktualizuj migawki (lub Aktualizuj zależności)
A Twoje błędy powinny zniknąć po odbudowaniu projektu (automatycznie, jeśli masz włączoną funkcję automatycznego budowania).
źródło
Cóż, próbowałem wszystkiego, co tutaj zamieszczono, niestety nic nie działa w moim przypadku. Więc próbując różnych kombinacji wyszedłem z tą, która rozwiązała mój problem.
1) Otwórz plik .classpath w katalogu głównym projektu twojego eclipse.
2) Wstaw następujący wpis do pliku:
Następnie odbuduj projekt w eclipse (Projekt-> Czysta kompilacja).
źródło
Na wypadek gdyby ktoś wypróbował wszystkie inne opcje i nadal utknąłeś, spróbuj kliknąć prawym przyciskiem myszy folder projektu, przejdź do opcji Maven i kliknij przycisk „dodaj zależność”. Z jakiegoś powodu Eclipse nie aktualizuje zależności ręcznie z pom.xml przy pierwszej próbie.
źródło
Miałem podobny problem. I rozwiązać go uruchamiając Maven-> Aktualizacja konfiguracji projektu działań
źródło
U mnie problem polegał na tym, że maven nie mógł znaleźć pliku settings.xml , który znajduje się w myMavenFolder \ conf .
To, co zrobiłem, aby naprawić problem, to wybranie właściwej lokalizacji pliku settings.xml z eclipse:
Okno -> Preferencje -> Maven -> Ustawienia użytkownika
Na koniec kliknij Zastosuj i zaktualizuj swój projekt
źródło
Spóźniłem się więc około 4 lub 5 lat na tę imprezę, ale miałem ten problem po wyciągnięciu z naszego repozytorium i żadne inne rozwiązania z tego wątku nie zadziałały w moim przypadku, aby pozbyć się tych ostrzeżeń / błędów.
To zadziałało dla mnie:
Z Eclipse przejdź do Window -> Preferences -> Maven (rozwiń) -> Errors / Warnings. Ostatnia opcja brzmi „Wykonanie wtyczki nie jest objęte konfiguracją cyklu życia” - użyj menu rozwijanego dla tej opcji i przełącz opcję „Ignoruj”, a następnie Zastosuj, a następnie OK. (Przy monicie „Wymaga aktualizacji projektów Maven” powiedz OK).
Dalsze informacje:
Może to niekoniecznie „naprawić” problem (y) i może nie kwalifikować się jako „najlepsza praktyka” przez niektórych, jednak powinno usunąć / stłumić te ostrzeżenia przed pojawieniem się w Eclipse i pozwolić ci przynajmniej przejść do przodu. W szczególności - pracowałem z Eclipse Luna Service Release 1 (4.4.1) z zainstalowanym Spring Dashboard i Spring IDE Core (3.6.3) i m2e (1.5), działającym na Arch Linux i OpenJDK 1.7. Zaimportowałem mój projekt jako istniejący projekt Maven i wybrałem OK, gdy otrzymałem ostrzeżenie o istniejących ostrzeżeniach / błędach (aby zająć się nimi później).
(Przepraszam, nie jestem projektantem, ale dla jasności dodałem zdjęcie).
źródło
W moim przypadku zadziałały następujące kroki:
1 Na zaćmieniu kliknij prawym przyciskiem myszy żądany projekt Maven -> Disable Maven Nature
2 Ponownie kliknij prawym przyciskiem myszy, a następnie przejdź do Właściwości . Usuń wszystkie dowody zależności zewnętrznych Maven, pozostawiając tylko bibliotekę systemową JRE.
3 Jeszcze raz kliknij prawym przyciskiem myszy projekt, a następnie przejdź do Konfiguruj -> Konwertuj na projekt Maven
źródło
Żadne z powyższych rozwiązań nie zadziałało w moim przypadku, więc ta odpowiedź jest dla kogokolwiek innego w mojej sytuacji. W końcu sam znalazłem problem i inne rozwiązanie. Plik pom.xml zawierał tag dependencyManagement, który opakował zależności, a M2Eclipse nie dodawał folderu Maven Dependencies, gdy był obecny. Usunąłem więc ten tag, a następnie wykonałem rozwiązanie oferowane przez firmę Ualter Jr., a Eclipse natychmiast dodało brakujący folder!
źródło
Oto kroki, które wykonałem.
1. Usunięto projekt mavena z Eclipse.
2. Usunąłem wszystkie pliki (.setting / .classpath / target) inne niż src i pom z mojego folderu źródłowego.
3. ponownie zaimportowany jako projekt mavena
4. ponownie go zbuduj, powinieneś być w stanie zobaczyć zależności mavena.
źródło
Moja odpowiedź jest podobna do @JerylCook: znajdź inny
.classpath
plik w działającym projekcie Maven, edytuj te złe jako te dobrze działające. Kluczem jest dodawaniewe wszystkich
<classpathentry>
typachcon
isrc
. Nie zapomnij zmienić<classpathentry .... />
na<classpathentry ...>xxx</classpathentry>
.Na koniec zaktualizuj projekt maven i ponownie zainstaluj / odbuduj w maven.
źródło
Jeśli po wykonaniu Maven -> Update Project Configuration (lub w Juno jest to „Update Configuration ...”) masz błędy „zagnieżdżonych ścieżek”, oznacza to, że ścieżka kompilacji jest źle skonfigurowana.
Kliknij prawym przyciskiem myszy projekt -> Build Path -> Configure Build Path
Upewnij się, że uwzględniane są tylko „/ src” i katalogi na tym poziomie. Jeśli masz np. „/ Src”, a także „/ src / main / resources”, jest to niepoprawne. Drugi zasób („/ src / main / resources”) jest „zagnieżdżony” pod pierwszym („/ src”), co powoduje niemożność importowania zasobów, ponieważ zapobiega dostrzeganiu przez Eclipse zależności maven.
źródło
Mój problem brzmi podobnie, więc dodam do dyskusji. Anulowałem import istniejącego projektu maven do Eclipse, co spowodowało, że nie mogłem go zaktualizować i nie mogłem poprawnie ukończyć budowy przestrzeni roboczej.
To, co musiałem zrobić, aby to rozwiązać, to wybrać,
Run As... -> Maven build...
a pod Celami wpisałemdependency:go-offline
i uruchomiłem to.Następnie kliknąłem projekt prawym przyciskiem myszy oraz wybrałem
Maven -> Update Project...
i zaktualizowałem ten konkretny projekt.To ostatecznie pozwoliło na utworzenie folderów źródłowych i zakończenie importu.
źródło
Mogłem rozwiązać ten błąd przez 1) Kliknij prawym przyciskiem myszy (twój projekt maven) -> maven -> maven install
Po udanej instalacji
2) Kliknij prawym przyciskiem myszy (Twój projekt maven) -> maven -> aktualizuj projekt. I cały błąd mavena został rozwiązany!
źródło
U mnie wystarczyło dodać buildCommand (org.eclipse.m2e.core.maven2Builder) i nature (org.eclipse.m2e.core.maven2Nature) w pliku .project, na przykład:
i miałam
źródło
Tak to rozwiązałem
Teraz przebuduj i zainstaluje najnowsze pliki JAR we właściwej lokalizacji.
źródło
Miałem podobny problem i wypróbowałem wszystkie odpowiedzi w tym poście. Najbliższym rozwiązaniem tego problemu było połączenie rozwiązań Josepha Lust i Paula Crease'a. Dodałem kopię zapasową pliku pom.xml po usunięciu i ponownym zaimportowaniu projektu i nic się nie pojawiło, dopóki nie usunąłem tagu zarządzania zależnościami w pom.xml i magicznie znalazł się tam folder zależności.
Jednak zepsuło to podrzędne POM, ponieważ potrzebują one zarządzania zależnościami nadrzędnego pom.xml do działania, w wyniku czego mój MVN nie działał poprawnie w projekcie ani z Eclipse, ani z wiersza poleceń, powodując uszkodzony błąd pom.xml.
Ostatnim rozwiązaniem, jeśli wszystko zawiedzie, jest ręczne zaimportowanie plików .jar potrzebnych w projekcie. Kliknij prawym przyciskiem myszy projekt Właściwości -> Ścieżka budowania Java -> Biblioteki i Dodaj zewnętrzny Jar.
Jeśli Twój MVN działa poprawnie z wiersza poleceń i pomyślnie zbudowałeś projekt, będziesz mieć wszystkie potrzebne repozytoria w folderze .m2 / repository. Dodaj wszystkie zewnętrzne pliki JAR wymienione w tagu zależności pom.xml, a zobaczysz sekcję biblioteki, do której istnieją odwołania, w Twoim Eclipse, z usuniętymi wszystkimi nieznośnymi czerwonymi błędami.
Nie jest to optymalne rozwiązanie, ale pozwoli Ci pracować w Eclipse bez błędów brakujących zależności, a także pozwoli zbudować projekt Mavena zarówno z poziomu Eclipse, jak i wiersza poleceń.
źródło
Ten sam problem mi się przytrafił, a to dlatego, że wystąpił błąd podczas pobierania jar z powodu problemów z repozytorium, co jest sygnalizowane czerwoną flagą w pliku
pom.xml
.Dodałem kolejne repozytorium, więc czerwona flaga
pom.xml
zniknęła, a Eclipse ponownie załadował pom, rozwiązałem jego problem i wyszczególniłem zależności maven w Project Explorer. wydaje się proste i oczywiste, aby rozwiązać widoczne problemy, ale ponieważ Eclipse był całkiem szczęśliwy, mogąc uruchomić mavena i pomyślnie zbudować, nie było oczywiste, że problem z czerwoną flagą i repozytorium był przyczyną jego niechęci do przeanalizowania pom i wyszczególnienia mavena zależnościźródło
potem z eclipse: „Projekt aktualizacji Maven” załatwia sprawę!
źródło
zaktualizuj .classpath do poniżej będzie działać za każdym razem.
źródło
Maven Dependencies: Co rozwiązało to dla mnie w Eclipse? Dodałem zależność w pliku "pom". Zrobiłem kompilację, ale nie widziałem zależności Mavena w Eclipse. Następny krok: zamknięcie projektu. Następnie ponownie otworzyłem projekt. Mogłem zobaczyć zależności Mavena.
źródło
Otrzymałem ten błąd, gdy wystąpił błąd w Pom.
źródło
mvn eclipse:eclipse
wszystkie zależności zostały dodane do ścieżki klas w projekcie eclipse i projekt wyglądał dobrze. ++To niesamowite, że ten jeden problem ma tak wiele różnych przyczyn i możliwych rozwiązań. Znalazłem jeszcze inne rozwiązanie, które zadziałało.
Cóż, to nie tyle rozwiązanie, ile odkrycie: widzę węzeł Maven Dependencies w Eksploratorze pakietów, który jest domyślny dla perspektywy Java, ale nie widzę go w perspektywie Java EE, która korzysta z Eksploratora projektów domyślnie. Obaj badacze na pierwszy rzut oka wyglądają bardzo podobnie, więc możesz spodziewać się zależności Mavena w obu.
Kiedy próbowałem to rozgryźć, nie zdawałem sobie sprawy z tej różnicy, więc ostatecznie nie był to dla mnie problem.
źródło
cały projekt wyglądał dziwnie w eclipse, brakowało folderu zależności Mavena, niektóre typy pokazywały jako nieznane, ale udało mi się go pomyślnie zbudować w maven. Rozwiązaniem mojego problemu było dodanie folderu gen do ścieżki źródłowej na ścieżce budowania projektu.
Prawdopodobnie jest to podobne do tego systemu Android / FBReaderJ / gen już istnieje, ale nie jest folderem źródłowym. Przekonwertuj na folder źródłowy lub zmień jego nazwę
źródło
W Eclipse STS, jeśli "Maven Dependencies" zniknie, musisz sprawdzić i naprawić
pom.xml
. Zrobiłem to (dwa razy) i rozwiązałem. To nie był problem z zależnościami, ale String wygenerowany i przesunięty w losowej pozycji w moimpom.xml
.źródło
Wszystko powyższe nie działało ze mną. Naprawa polegała tylko na usunięciu folderu repozytorium pod .m2, a następnie wykonaniu aktualizacji mavena z eclipse.
źródło
Tak wiele odpowiedzi. Widzisz, może być wiele powodów, dla których to nie działa zgodnie z oczekiwaniami. W moim przypadku nie zdawałem sobie również sprawy z - tagu wokół moich zależności. facepalm
Przykład:
to tylko DEFINIUJE zależność dla tego i wszystkich podprojektów z żądaną wersją! Tak właśnie powinno wyglądać np. W master-POM. Aby naprawdę używać biblioteki w TYM bieżącym projekcie, musisz również dodać zależność w następujący sposób:
TERAZ zapewni bibliotekę w TYM bieżącym projekcie.
źródło