Brak zależności Mavena w projekcie Eclipse

108

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.

hostnik
źródło
Czy jest to problem z zakresem, jak w jira.codehaus.org/browse/MNG-2045 ?
VonC
1
Nie warto publikować odpowiedzi, ale wydaje się, że każdy, kto to przeczyta w przyszłości, będzie musiał wpisać co najmniej trzy znaki bez symboli wieloznacznych. Np. Wpisanie „t” lub „to” nie pokaże żadnych wyników, ale „tom” to zrobi. Wierz lub nie, ale spędziłem około godziny na szukaniu różnych powodów, zanim zdałem sobie z tego sprawę.
Chris Neve

Odpowiedzi:

118

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:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="org.eclipse.jst.component.nondependency" value=""/>
        </attributes>
</classpathentry> 

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: wprowadź opis obrazu tutaj

Ualter Jr.
źródło
3
To pierwsza rzecz, którą każdy powinien spróbować. Otwórz plik .classpath, który będzie w katalogu twojego projektu w notatniku, dodaj wspomniane linie i odśwież projekt.
Amit Kumar
9
To działało tam, gdzie wszystko inne zawiodło. Ale czy muszę to robić dla każdego projektu, który tworzę? Dlaczego nie działa automatycznie? Jaki jest prawdziwy problem?
yeaaaahhhh..hamf hamf
Ech, to wciąż jest zepsute w m2e 1.6.2.20150902-002. Przetestowano na świeżej waniliowej instalacji Eclipse w systemie Mac OS X / JDK 1.8. Eclipse IDE for Java Developers Wersja: Mars.2 Release (4.5.2) Build id: 20160218-0600 Zastanawiam się, czy ta wtyczka wymaga Eclipse Java EE do prawidłowego działania?
Mat Gessel
1
ta odpowiedź powinna być pierwszą. Jedyny, który zadziałał ;-) dzięki
Manuel Manhart
1
Magia! nadal ważne dla Eclipse 4.4.2
kontra
89

Problem rozwiązany!

Nie wiem, co dokładnie go rozwiązało, ale w Eclipse zrobiłem 4 rzeczy:

  • Okno-> Preferencje: Maven-> Instalacje: Ustawienia globalne -> Otwórz plik i zakodowane lokalnieRepository
  • Projekt-> Wyczyść
  • kliknij prawym przyciskiem myszy projekt: Maven-> Aktualizuj zależności
  • kliknij prawym przyciskiem myszy projekt: Maven-> Aktualizuj konfigurację projektu

Wydaje mi się, że były to zależności od aktualizacji, ponieważ zaraz po pierwszych dwóch nie było żadnych zmian.

hostnik
źródło
2
Wiem "Projekt-> Wyczyść" i próbowałem, ale na początku to nie pomogło.
hostnik
7
To był ostatni punkt. Zaktualizuj konfigurację projektu spowoduje dodanie biblioteki „Maven Dependencies” do Twojego projektu.
Eduard Wirch,
2
Do Twojej wiadomości, najpierw musiałem kliknąć prawym przyciskiem myszy mój projekt, przejść do Konfiguruj i „Konwertuj na projekt Maven”.
duma 24.07.14
2
Rozszerzając odpowiedź Eduarda Wircha, musiałem również zaznaczyć pole „Wymuś aktualizację migawek / wydań” w oknie Maven-> Aktualizuj projekt…. Mój brakujący artefakt był migawką i jakoś nie aktualizował się dobrze bez wymuszania tego.
evaldeslacasa,
1
Musiałem zmienić ustawienia użytkownika „settings.xml”, tak aby znajdowały się w moim katalogu „.m2”. Wcześniej był ustawiony na jeden w katalogu instalacyjnym Maven.
Jack Straw,
35

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ępnie mvn 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ć!

rogueleaderr
źródło
To wskazało mi właściwy kierunek, pokazując, że wystąpiły problemy z moim plikiem settings.xml! Dziękuję @rogueleaderr!
slashp
tak, zadziałało dla mojej przyjaciółki, rozwiązało wszystkie jej problemy i bóle głowy. Niestety nie zadziałało dla mnie.
Zack Zilic
U mnie też to zadziałało, ale czy ktoś mógłby wyjaśnić, co się stało za sceną?
YouAreAwesome
Pracuje dla mnie. Idealne rozwiązanie.
Ramaraj Karuppusamy
31

Mój projekt został właśnie schrzaniony. Oto jak to naprawiłem dla Eclipse Indigo x64 (J2EE 3.7.3):

  1. Usunąłem mój plik POM (oczywiście z kopią zapasową).
  2. Menu kontekstowe projektu > Maven > Wyłącz Maven Nature .
  3. Usunięto projekt (ale nie zawartość na dysku).
  4. Ponownie zaimportowano jako Import > Ogólne > Istniejący projekt .
  5. Projekt menu kontekstowe > Konfiguruj > Konwersja do Maven Project ... .
  6. Zaakceptuj wartości domyślne z kreatora Maven.
  7. Zastąp POM swoim zapasowym POM. (Teraz masz folder Maven Dependencies ).
  8. Maven Update / Clean na dokładkę.

Mam nadzieję, że to komuś pomoże. :)

Joseph Lust
źródło
To mi pomaga! Nie wiem, co jest nie tak, ale używam 64-bitowego Juno / Springsource 3 i zawsze nie udaje mi się poprawnie zaimportować moich projektów Maven. Jeśli sprawdzę jako zwykły projekt, zmień nazwę mojego POM, a następnie postępuj zgodnie ze wskazówkami od kroku 5, wszystko działa. W przeciwnym razie nic, co próbuję, nie spowoduje dodania zależności Mavena do mojego projektu poza wierszem poleceń, mvn eclipse:eclipseco jest po prostu okropne.
ngreen
Zrobiłem to, ale nadal nie mam folderu zależności maven. Oto mój plik pom.xml i myślę, że to dlatego mam ten problem: <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>
Anatch
Naprawdę nie wiem, gdzie jest problem, ale wykonałem powyższe kroki i działa naprawdę dobrze. Powoduje to błąd, taki jak nie znaleziono klasy, nie znaleziono dtd xml. Ale teraz jest rozwiązany. Dzięki stary. Głosuj za.
Sagar007
29

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).

IceBox13
źródło
Dzięki, to rozwiązało mój problem. Wydaje się, że to błąd Eclipse.
Scott McIntyre
1
Hej, nie ma czegoś takiego jak Maven-> Update Snapshots (lub Update Dependencies). Jeśli kliknę prawym przyciskiem myszy, nie ma opcji Maven? Gdzie znajduje się to, co opisałeś? Szukam, ale nie mogę znaleźć opisu po
naciśnięciu
1
@DarioBB Ta odpowiedź ma prawie 5 lat. Nie pracowałem w Eclipse od ponad roku. Nie mam pojęcia, czy ta opcja jest nadal dostępna, czy nie. Może nie jestem w najnowszej wersji.
IceBox13
1
To rozwiązanie sprawdziło się u mnie w neonie Eclipse. Następnie wykonaj Maven> Aktualizuj projekt (nie aktualizuj migawek).
Ivana
9

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:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="org.eclipse.jst.component.nondependency" value=""/>
        </attributes>
</classpathentry> 

Następnie odbuduj projekt w eclipse (Projekt-> Czysta kompilacja).

Ualter Jr.
źródło
Dzięki! to rozwiązanie działało najlepiej dla mnie, tylko jedna korekta ciężka, musiałem zamknąć i ponownie otworzyć projekt.
Tarun Gupta
Wspaniale. U mnie też to zadziałało. W moim projekcie nie widziałem zależności Mavena. Teraz widoczny i dodany również do ścieżki kompilacji. Dzięki!
Tahir Mehmood
7

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.

zrzut ekranu wyboru menu

FrankDupree
źródło
5

Miałem podobny problem. I rozwiązać go uruchamiając Maven-> Aktualizacja konfiguracji projektu działań

Darryl Sibeon
źródło
5

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

I. JOK
źródło
4

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).

Wyłącz / usuń ostrzeżenia "Nie obejmuje wykonania wtyczki ..." Eclipse-Maven

(Przepraszam, nie jestem projektantem, ale dla jasności dodałem zdjęcie).

Brandon K.
źródło
4

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

Rafael Isquierdo
źródło
3

Ż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!

Paul Crease
źródło
3

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.

karuna nidhan
źródło
2

Moja odpowiedź jest podobna do @JerylCook: znajdź inny .classpathplik w działającym projekcie Maven, edytuj te złe jako te dobrze działające. Kluczem jest dodawanie

<attributes>
    <attribute name="maven.pomderived" value="true"/>
</attributes>

we wszystkich <classpathentry>typach coni src. Nie zapomnij zmienić <classpathentry .... />na <classpathentry ...>xxx</classpathentry>.

Na koniec zaktualizuj projekt maven i ponownie zainstaluj / odbuduj w maven.

WesternGun
źródło
Zrobiło to dla mnie. Dzięki.
NuCradle
1

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.

KomodoDave
źródło
1

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łem dependency:go-offlinei 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.

walijski
źródło
1

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!

Nandan Bhalwankar
źródło
1

U mnie wystarczyło dodać buildCommand (org.eclipse.m2e.core.maven2Builder) i nature (org.eclipse.m2e.core.maven2Nature) w pliku .project, na przykład:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>iText</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.m2e.core.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
    </natures>
</projectDescription>

i miałam wprowadź opis obrazu tutaj

Frizz1977
źródło
1

Tak to rozwiązałem

  • Okno-> Preferencje: Maven-> Ustawienia użytkownika (Kliknij „otwórz plik” w wyświetlonym oknie lub po prostu edytuj settings.xml za pomocą zewnętrznego edytora tekstu, takiego jak Notatnik). Upewnij się, że localRepository (które jest wyświetlane w tym oknie) jest poprawne. Miałem literówkę w moim pliku.
  • Po poprawieniu settings.xml, kliknij Update Settings, który znajduje się na tym samym ekranie Preferences-> Maven-> User Settings.

Teraz przebuduj i zainstaluje najnowsze pliki JAR we właściwej lokalizacji.

guyland123
źródło
1

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ń.

Saad
źródło
1

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.xmlzniknęł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

bigbadmouse
źródło
1
mvn eclipse:clean

potem z eclipse: „Projekt aktualizacji Maven” załatwia sprawę!

Ebuzer Taha KANAT
źródło
1

zaktualizuj .classpath do poniżej będzie działać za każdym razem.

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="target/classes" path="src/main/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="src" output="target/test-classes" path="src/test/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="WEB-INF/" kind="src" path="src/main/webapp"/>
    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="output" path="target/classes"/>
</classpath>
Jeryl Cook
źródło
1

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.

Krishna Rajagopalan
źródło
1

Otrzymałem ten błąd, gdy wystąpił błąd w Pom.

  1. Uruchom komendę mvn eclipse: eclipse na konsoli, aby sprawdzić, czy pom jest przetwarzalny, czy nie.
  2. Jeśli nie, wyszukaj błąd.
Ahmed Bilal
źródło
Biegam pod cygwinem, zauważyłem, że tylko ten projekt nie buduje się pod zaćmieniem, chociaż dostałem pomyślną kompilację (z mvn) w linii poleceń. Po uruchomieniu mvn eclipse:eclipsewszystkie zależności zostały dodane do ścieżki klas w projekcie eclipse i projekt wyglądał dobrze. ++
Bill Naylor
0

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.

Zagrożenie
źródło
0

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 moim pom.xml.

LucianoDemuru
źródło
0

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.

Khalid Abdlqader
źródło
0

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:

...
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

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:

...
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </dependency>
</dependencies>

TERAZ zapewni bibliotekę w TYM bieżącym projekcie.

Robert Fornesdale
źródło