Idea Intellij nie może rozwiązać niczego w maven


134

Jestem nowy w Intellij Idea, po prostu importuję projekt z pom.xml, ale ide nie rozwiązał niczego w zależnościach Maven.

Cokolwiek zdefiniowane w pom.xmlzależnościach podczas importu w kodzie powoduje błądcannot resolve symbol xxxxx

Ale mvn installbędzie działać, próbuję zaimportować w zależności Project Settings/Librariesw .jarplikach, to działa, ale może biblioteki Resolve ide zdefiniowane w pom.xml? nie chcę tego robić za każdym razem.

Dodatkowe informacje:

Wersja IDEA: 12.0.3, system operacyjny: windows 7, reimport nie działa, wersja maven: 3.0.4, zależności maven nie istnieją w bibliotekach zewnętrznych.

w idea.log nie ma wyjątków ...


Wersja IDEA? Czy są jakieś powiązane wyjątki w idea.log ? Wersja Maven? Z jakiego systemu operacyjnego korzystasz? Czy przycisk Reimport działa w Maven Projectsoknie narzędzi? Czy widzisz zależności pod External Librarieswęzłem w Project View?
CrazyCoder

Wersja IDEA: 12.0.3, system operacyjny: windows 7, reimport nie działa, wersja maven: 3.0.4, zależności maven nie istnieją w bibliotekach zewnętrznych.
Burst

nie ma wyjątków w idea.log ...
Burst

Wypróbuj IDEA 12.1 , włącz Maven 3 w Settings| Maven| Importing, konfiguracja sieci również może mieć na to wpływ .
CrazyCoder

dziękuję za odpowiedź, teraz działa, ale nadal jest problem: zależności, które scope = system nie zostaną wdrożone po uruchomieniu w tomcat.
Burst

Odpowiedzi:


121

W IntelliJ 12.1.4 przeszedłem Settings --> Maven --> Importingi upewniłem się, że wybrano:

  1. Importuj projekty Maven automatycznie
  2. Twórz moduły IDEA dla projektów agregatorów
  3. Zachowaj źródło ...
  4. Wyklucz katalog kompilacji ...
  5. Użyj wyjścia Mavena ...
  6. Wygenerowane foldery źródeł: „wykrywaj automatycznie”
  7. Faza, która ma być ...: "zasoby procesowe"
  8. Pobieraj automatycznie: „źródła” i „dokumentacja”
  9. Użyj Maven3, aby zaimportować projekt
    • Opcje maszyny wirtualnej dla importera: -Xmx512m

To doprowadziło mnie od wielu nierozwiązanych instrukcji importu do rozwiązania wszystkiego. Myślę, że kluczem było użycie Maven3 do importowania projektu ... Mam nadzieję, że to pomoże.


16
To dobrze, ale musiałem też załadować projekt jako projekt Mavena - wybierz Plik | Otwórz swój pom.xml i czekaj.
MaKri

3
Zarówno ta odpowiedź, jak i pierwszy komentarz rozwiązały mój problem. Dzięki chłopaki!
miken.mkndev

Musiałem jeszcze bardziej zwiększyć pamięć dla importera i ostatecznie wybrałem -Xmx4096m (to duży projekt). Różni się to od ustawień pamięci w idea.vmoptions!
Yasammez

Dzięki, miałem problem polegający na tym, że Maven 3.0.5 (w pakiecie) powodował, że nie były importowane żadne zależności maven, ale aktualizacja do wersji 3.3.9 pozwoliła na poprawny import wszystkich zależności.
Matthew Buckett

Nie jestem pewien, dlaczego IDEA nie ma menu kontekstowego podobnego do Eclipse do budowania projektu opartego na Maven. W wersji 2017.2 musisz zrobić Plik> Inne ustawienia> Ustawienia domyślne> wyszukaj maven w polu wyszukiwania. IDEA ma naprawdę zły UX w porównaniu do Eclipse
vikramvi

118

Napotkałem ten problem - pomysł nie może pobrać wszystkich zależnych pakietów jar za pomocą maven, właśnie wypróbowałem następujące operacje:

 mvn -U idea:idea

następnie wszystkie zależne pakiety jar są pobierane z repozytorium maven


5
Uwaga: ta wtyczka jest wycofana. Nie jest już utrzymywany. maven.apache.org/plugins/maven-idea-plugin
petertc

7
Tylko rozwiązanie z tej strony działa również u mnie !!
nahab

Od dawna stawiam czoła temu problemowi… i to uratowało mi dzień (/ dni)… Dziękuję bardzo !!
codeMan

To jest dla mnie pomocne. Dziękuję Ci.
Anna Kaygorodova

3
Czy ktoś może wyjaśnić, dlaczego to działa? To było jedyne dobre rozwiązanie dla mnie pomimo wycofanej wtyczki w grudniu 2017 r.
Z3d4s

35

Otrzymałem również ten błąd, ponieważ projekt zaimportował foldery główne i testowe jako moduły. Kliknij Projekt -> Naciśnij F4 -> W ustawieniach modułu usuń folder główny i testowy, a następnie ponownie utwórz projekt. Problem zostanie rozwiązany.


1
Okazało się to również moim problemem po zaimportowaniu istniejącego projektu Maven do IntelliJ 14.0.3 i wybraniu wszystkich domyślnych opcji podczas procesu importu.
Nate R.

Po godzinach poszukiwań to załatwiło sprawę. Błogosławić!
SourceVisor

U mnie też to zadziałało! Czy ktoś wie, dlaczego to psuje rozdzielczość?
dmi_

U mnie to zadziałało, to najłatwiejszy, jakiego próbowałem .. Dzięki!
rrw

1
+1 ... to całkowicie załatwiło sprawę dla mnie. Wydawało się, że wszystko działa poprawnie, odczytano pom.xml, obecne biblioteki, ale trzeba było to zrobić, aby zniknęły błędy.
davesbrain

35

Napotkałem ten problem podczas korzystania z dołączonej instancji Maven 3 IntelliJ 14.

Przerzuciłem się na używanie własnej, lokalnej instancji Mavena, poprzez:

Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Maven Home Directory

Następnie dodałem ścieżkę do mojej lokalnie zainstalowanej instancji.wprowadź opis obrazu tutaj

To spowodowało magiczne pojawienie się zależności.

wprowadź opis obrazu tutaj


1
Nie do wiary. Ten zadziałał dla mnie po wielu bólach głowy. Pobrałem Mavena 3.5 z internetu. Wielkie dzięki !!
sumanth232

uratował mój dzień !! Dzięki Conor
Dota2

Wow, po wykonaniu tej sztuczki coś się odblokowało w pomyśle. Dzięki Connor.
Bnrdo,

Rany, nigdy nie pomyślałbym o tym, że nie będę musiał używać dołączonej wersji mavena i używać własnej. Całkowicie zadziałało po spędzeniu kilku godzin na próbowaniu różnych rzeczy.
zen

Wspaniały !! To działało jak bryza. Wielkie dzięki za pomoc.
Sanjeev

10

Wypróbowałem kilka opcji, ale ta w końcu rozwiązała mój problem. I ponownie importowane projektu , wykonując następujące kroki w IntelliJ:

  1. Plik -> Nowy -> Projekt z istniejących repozytoriów
  2. Wybierz projekt z „Wybierz plik lub katalog do zaimportowania”

  3. Na następnym ekranie wybierz „Importuj projekt z modelu zewnętrznego” i wybierz „Maven.

  4. W następnym kroku kliknij pole wyboru `` Importuj projekty Maven automatycznie '' (to rozwiązało mój problem)
  5. Zakończ, wybierając profile, jeśli to konieczne

Dla mnie ponowne importowanie projektów Maven nie rozwiązało problemu z istniejącymi projektami.


6

Właśnie napotkałem ten sam problem po aktualizacji IntelliJ. Moja poprawka: kliknij projekt prawym przyciskiem myszy, a następnie maven -> reimport.


5

Dla mnie problem jaki musiałem zaznaczyć pole „Importuj projekty mavena automatycznie” w menu Ustawienia> Maven> Importowanie


Dzięki! Wciąż jest to aktualne rozwiązanie dla Intellij IDEA 2016. Importowanie Maven umożliwiło bezproblemowe otwarcie istniejącego projektu maven w przeciwieństwie do otwierania projektu, które powodowało wiele problemów z zależnościami!
Exterminator13,

5
  1. Zamknij IntelliJ
  2. Otwórz ten sam projekt
  3. Po załadowaniu projektu w prawym dolnym rogu zobaczysz wyskakujące okienko z informacją non-managed pom.xml file found, że jeśli go klikniesz, pojawi się nowe wyskakujące okienko z napisem add as maven project, kliknij je i gotowe.

4

Otrzymałem ten błąd, ponieważ mój projekt nie został poprawnie skonfigurowany. Zaimportował foldery główne i testowe jako moduły. Kiedy usunąłem 2 moduły (ale zachowałem je jako foldery źródłowe i testowe), mój kod zaczął się poprawnie kompilować.


4

Miałem ten sam problem co autor!

Aby rozwiązać mój problem, musiałem dodać wtyczkę Maven Integration Plugin: File | Ustawienia | Wtyczki

Lubię to:

Wtyczka integracji Maven

Następnie Intellij ściągnął wszystkie zależności z pliku pom.xml.

Teraz, jeśli chcę stworzyć projekt w oparciu o model Mavena, po prostu wybieram Otwórz w pierwszym oknie Intellij i wybieram plik pom.xml:

wprowadź opis obrazu tutaj


To załatwiło sprawę dla mnie. Z jakiegoś powodu próbowałem tylko zaimportować projekt (duży projekt Maven z wieloma podmodułami).
Torbjørn Kristoffersen

3

Miałem pusty plik settings.xml w Users /.../. M2 / settings.xml. Kiedy dodałem

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">

</settings>

wszystkie zależności zostały załadowane


2

Jeśli zaimportowałeś swój projekt maven w IntelliJ i występują błędy, ponieważ import Mavena nie został rozwiązany, może to być spowodowane niestandardowymi ustawieniami maven.xml, których możesz używać. Próbowałem zastąpić to w domyślnych ustawieniach maven Intellij, ale to nie pomogło. W końcu musiałem zachować go w ~ / .m2 / settings.xml, a potem IntelliJ w końcu go uhonorował.


To jest ustawienie domyślne, tak?
rogerdpack

1

W Ustawieniach -> Maven -> Repozytoria są wyświetlane tylko niektóre repozytoria skonfigurowane w moich ustawieniach.

Obejście problemu

Prawdopodobnie jest to błąd (Idea 13.1.5 Ultimate). Pomogło mi to zmienić lusterka. Ten, który nie pojawił się na szczycie.


1

W przypadku intelliJ 16.1.4 miałem ten sam problem. Powinieneś rzucić okiem na dziennik zdarzeń, ponieważ zawierał on informację „Znaleziono niezarządzany plik pom.xml: ...” Następnie kliknąłem na niego i problem został rozwiązany.


1

W moim przypadku rozszerzyłem panel projektów maven po prawej stronie, kliknąłem + i dodałem projekt. Wtedy zadziałało.


1

Jeśli masz jakieś zależności w pom.xml specyficzne dla Twojej organizacji, musisz zaktualizować ścieżkę setting.xml dla swojego projektu, która jest domyślnie ustawiona na katalog użytkownika w Ubuntu: /home/user/.m2/settings.xml - > (zmień to na swoją ścieżkę konfiguracyjną Apache-Maven)

Zaktualizuj plik Setting.xml Intellij


0

3 proste kroki: IntelliJ 14:

  1. Plik> Ustawienia> Kompiluj, uruchamiaj, wdrażaj> Narzędzia do kompilacji

  2. Wybierz Maven

  3. Katalog domowy Mavena: C: / Program Files / apache-maven-3.3.3 (odpowiednik lokalizacji)


0

Należy pamiętać, że IntelliJ dodaje klasy lokalnej instalacji Mavena do własnej ścieżki klas , więc należy ją aktualizować.

W moim przypadku IntelliJ próbował wywołać metodę org.eclipse.aether.util.ConfigUtils.getFloat(). Spowodowało to błąd java.lang.NoSuchMethodError, ponieważ moja stara wersja Mavena nie zawierała jeszcze tej metody. Z powodu wyjątku IntelliJ przestał rozwiązywać zależności.

Po zaktualizowaniu Mavena, musisz zmienić ustawienie „Katalog domowy Mavena” w „Budowanie, wykonywanie, wdrażanie” -> „Maven”. Następnie musisz ponownie uruchomić IntelliJ, ponieważ ścieżka klas JVM IntelliJ nie zmieni się podczas pracy.

Zajęło mi trochę czasu, aby rozwiązać ten problem, ponieważ nie spodziewałem się, że IntelliJ użyje klas mojej lokalnej instalacji Mavena. Myślałem, że używa własnych dołączonych plików JAR. Miejmy nadzieję, że te informacje będą pomocne dla innych.


0

<option name="workOffline" value="true" />w workspace.xmlnie jest twoim przyjacielem. Radzę sprawdzić to przed usunięciem .idea(który ma wiele przydatnych ustawień, których prawdopodobnie nie chcesz stracić)

To workspace.xmlustawienie maven


0

Wydaje mi się, że rozwiązań tego problemu jest mnóstwo i wszystko wygląda trochę jak magia. Dla mnie unieważnienie pamięci podręcznych, ponowne importowanie lub cokolwiek innego już wspomnianego nie działało. Jedyną rzeczą, która pomogła, było (bez ponownego importu) przejście do ustawień Mavena, odznaczenie automatycznego importowania i ponowne sprawdzenie.

wprowadź opis obrazu tutaj


0

występuje problem z dołączoną wersją Maven. jak ktoś wcześniej zasugerował, przełączyłem się na własną instalację Mavena i zależności magicznie działały (IntelliJ 2018.3)


0

Właśnie miałem ten problem podczas dodawania <dependency>...</dependency>elementów do pliku <profile>. Właśnie odkryłem, że jeśli dodam (wstawię) nierozwiązane elementy zależności do <dependencies>elementu, zależności są pobierane z repozytorium maven; Następnie mogę usunąć element zależności z elementu zależności.


0

Użycie domyślnego mavena (który jest dostarczany z IntelliJ) również może spowodować ten problem. Skonfiguruj więc program Maven, który zainstalowałeś.

Można to zrobić z: Plik -> Ustawienia -> Kompilacja, wykonanie, Wdrożenie -> Maven

Zaktualizuj następujące ustawienia zgodnie z instalacją maven:

  1. Katalog domowy Maven =
  2. Plik ustawień użytkownika =
  3. Lokalne repozytorium =

0

Okej, stałem przed tym problemem przez wiele dni. Próbowałem zaimportować bibliotekę POI i bibliotekę Simple JSON, wypróbowałem wszystkie proponowane odpowiedzi i rozwiązanie nic nie działało. Ostatecznie rozwiązanie mojego przypadku było dość proste

Po prostu musiałem dodać następujące elementy do mojego pliku module-info.java po umieszczeniu zależności w moim pliku POM:

 requires poi.ooxml;
 requires poi;
 requires json.simple;

więc myślę, że ponieważ mój projekt był w pakiecie w module, musiałem to zrobić, aby system wiedział, że te zaimportowane biblioteki będą używane. więc po prostu umieść nazwę biblioteki po require w pliku module-info.java

Mam nadzieję, że to działa dla Ciebie


0

przejdź do Bibliotek zewnętrznych i usuń wszystkie biblioteki z napisem root po kliknięciu ponownie zaimportuj cały projekt

wprowadź opis obrazu tutaj


0

Wypróbowałem wszystkie inne sugestie w tym wątku i nic nie działało - jednak znalazłem ten wątek ze strony Jetbrains i ich rozwiązanie zadziałało dla mnie. Mam nadzieję, że niektórym z was to pomoże. W szczególności ta sugestia zadziałała:

  • Zamknij IDE
  • Usuń katalog / Users / yourname / Library / Caches / IntelliJIdeaXXX / (niezależnie od wersji)
  • Uruchom IDE i ponownie zaimportuj projekt od podstaw jako projekt Maven

Zadziałało dla mnie jak urok, powodzenia! :fala:

btw używam IntelliJ IDEA Ultimate 2020.2 na komputerze Mac.



0

Niestety napotkałem ten sam problem i drapałem się po głowie, dlaczego tak się dzieje. Prawie wypróbowałem wszystko na tej stronie, ale żadna nie działała.

Więc starałem się dotrzeć do źródła tego problemu; a problem polegał na tym (przynajmniej dla mnie), że próbowałem otworzyć projekt Maven, ale plik pom nie został zidentyfikowany. Kliknięcie prawym przyciskiem myszy na plik pom i wybranie „dodaj jako projekt maven”, a następnie kliknięcie prawym przyciskiem myszy na projekt -> Maven -> Reimport zrobił dla mnie całą magię :)

Mam nadzieję, że może to być pomocne dla kogoś.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.