Mam małe pytanie dotyczące IntelliJ IDEA 11. Właśnie zaimportowałem projekt z subversion - jest to projekt maven. Ale mam problem z zależnościami biblioteki maven, dlatego nie mogę automatycznie uwzględnić wszystkich zależności maven - IDEA pokazuje błędy zależności tylko wtedy, gdy otwieram tę klasę / To, co otrzymuję:
Chcę więc, aby wszystkie zależności były dodawane automatycznie - czy to możliwe, czy też muszę przejrzeć wszystkie pliki klas, aby zidentyfikować i dodać zależności od raju ?!
AKTUALIZACJA: Po wprowadzeniu pewnych modyfikacji znalazłem sposób, aby rozwiązać problem w jakiś sposób. To jest to co zrobiłem:
ale myślę logicznie, że nie będzie uwzględniał i sprawdzał nowych zależności z wyprzedzeniem?! ... Czy jest jakiś obszar ustawień dla tego w intelliJ - zależności automatycznego eksportu do ścieżki klas?!
źródło
Odpowiedzi:
IntelliJ powinien automatycznie pobierać i dodawać wszystkie zależności do ścieżki klas projektu, o ile Twoja POM jest zgodna i wszystkie zależności są dostępne.
Podczas importowania projektów Maven do IntelliJ zwykle pojawia się okno informacyjne z pytaniem, czy chcesz skonfigurować Automatyczny import dla projektów Maven. Oznacza to, że jeśli dokonasz jakichkolwiek zmian w POM, zmiany te zostaną wczytane automatycznie.
Możesz włączyć taką funkcję, przechodząc do Plik> Ustawienia> Maven> Importowanie, jest pole wyboru z napisem „Importuj automatycznie projekty Maven”.
Jeśli to nie pomoże, sugeruję wykonanie pełnego czyszczenia i zacząć od nowa:
*.iml
pliki i wszystkie.idea
foldery (powinien być jeden na moduł)mvn clean install
z wiersza poleceńAktualizacja IntelliJ 2016 :
Ustawienie Importuj automatycznie projekty Maven zostało przeniesione do Kompilacja, wykonanie, wdrożenie> Narzędzia do budowy> Maven> Importowanie w preferencjach IntelliJ.
źródło
Napraw przed IntelliJ 14
Plik [menu] -> Ustawienia -> maven -> importowanie i odznaczenie „użyj maven3 do zaimportowania projektu”
ref: http://youtrack.jetbrains.com/issue/IDEA-98425 (który może mieć również kilka innych pomysłów)
Napraw IntelliJ 15+
Znowu się z tym spotkałem, tym razem z IntelliJ 15, który nie ma już opcji „Użyj maven3 do importowania”. Przyczyną było to, że czasami IntelliJ „nie analizuje poprawnie zależności od maven” i jeśli nie może poprawnie przeanalizować jednej z nich, najwyraźniej poddaje się wszystkim . Możesz stwierdzić, czy tak jest, otwierając okno narzędzia projektów maven (menu Widok -> Narzędzia Windows -> Projekty Maven). Następnie rozwiń jeden ze swoich projektów maven i jego zależności. Jeśli wszystkie zależności są podkreślone na czerwono, „Houston, mamy problem”.
Rzeczywistą awarię można zobaczyć, przesuwając kursorem myszy nad samą nazwą projektu.
W moim przypadku napisano: „Problemy: brak dostępnych wersji dla XXX” lub „Nie można odczytać deskryptora dla artefaktu org.xy.z”, patrz: https://youtrack.jetbrains.com/issue/IDEA-128846 i https: // youtrack.jetbrains.com/issue/IDEA-152555
Wygląda na to, że w tym przypadku miałem do czynienia ze słoikiem, który nie miał skojarzonego pliku pom (w naszym repozytorium nexus maven, a także w moim lokalnym repozytorium). Jeśli to też jest twój problem, „pilne obejście: jeśli tak naprawdę nie musisz używać klas z tego słoika we własnym kodzie (na przykład tylko zależność przechodnia od maven), możesz naprawdę uciec od komentowania go od pom (tymczasowo), przeładowanie projektu maven, a następnie anulowanie komentarza. Jakoś po tym punkcie IntelliJ „zapamiętuje” jego stare działające zależności. Dodanie wykluczenia przechodniego maven może również zrobić to tymczasowo, jeśli napotkasz na łańcuch przechodni zależności. „
Inną rzeczą, która może pomóc, jest użycie „nowszej wersji” maven niż dołączona wersja 3.0.5. Aby ustawić go jako domyślny, zamknij wszystkie okna intellij, a następnie otwórz preferencje -> kompilacja, wykonanie i wdrożenie -> narzędzia do budowania -> maven i zmień katalog osobisty maven, powinien powiedzieć „Domyślnie projektu ”u góry, kiedy to dostosujesz, ale możesz go również dostosować do konkretnego projektu, o ile„ importujesz ”po dostosowaniu.
Wyczyść skrzynki
Usuwanie folderów pamięci podręcznej intellij (Windows: HOMEPATH /. {IntellijIdea, IdeaC} XXX linux ~ / .IdeaIC15) i / lub odinstalowywanie i ponowne instalowanie samego IntelliJ. Można to również zrobić, przechodząc do menu Plik [menu] ->
Invalidate Caches / Restart...
. Kliknijinvalidate and restart
. Spowoduje to ponowne indeksowanie całego projektu i rozwiązanie wielu trudnych do wyśledzenia problemów z IntelliJ.źródło
Maven home directory
wersję do wersji używanej przez nasz stos (3.3.9) rozwiązało problem.maven home directory
zBundle (Maven 3)
na ścieżkę, na której jest zainstalowany mój raj,.../maven/3.6.1/libexec
zadziałała dla mniePodczas importowania projektu wybierz
pom.xml
zamiast katalogu projektu. To powinno działać.źródło
Spróbuj ponownie zaimportować projekt z panelu Projekty Maven w IntelliJ IDEA. Powinien automatycznie pobrać i skonfigurować wszystkie zależności zdefiniowane w twoim
pom.xml
.Jeśli z jakiegoś powodu pobieranie nie działa z IDEA, spróbuj
mvn install
z wiersza poleceń i sprawdź, czy można pobrać zależności.Oczywiście wszystkie wymagane zależności i wszelkie niestandardowe repozytoria muszą być zdefiniowane bezpośrednio w
pom.xml
pliku.źródło
W przypadku IntelliJ 2016-2.4 (i uważam, że inne nowe wersje):
Widok> Narzędzie Windows> Projekty Maven
Na nowo ujawnionym pasku narzędzi wybierz Ustawienia Maven (ikona zestawu narzędzi).
Po otwarciu tego ekranu rozwiń menu Maven i kliknij „Importowanie”
Tutaj kliknij „Automatycznie importuj projekty Maven”. Upewnij się również, że opcja „JDK for Importer” odpowiada wersji JDK, której chcesz użyć.
Kliknij OK. Teraz przejdź do czerwonej zależności w pliku pom.xml, wybierz czerwoną żarówkę i kliknij „Aktualizuj wskaźniki Maven”.
źródło
Co mi pomogło:
Nawigacja: Ustawienia | Kompilacja, wykonanie, wdrożenie | Maven
Podaj „Katalog główny Maven” - miejsce, w którym zainstalowałeś maven
źródło
Jeśli niektóre moduły maven się nie kompilują, sprawdź, czy ich plik pom.xml znajduje się na liście „ignorowanych plików”. W IntelliJ goto
i sprawdź, czy powiązany plik pom.xml jest ignorowany.
źródło
Otwórz
IntelliJ Idea
, przejdź do Plik> Inne ustawienia> Ustawienia domyślne ...> Maven (Preferencje)> Importowanie lub |Preferences > Maven > Importing
Kliknij opcję Włącz automatyczny import w konsoli.
źródło
Podczas tworzenia nowego projektu wystarczy wybrać opcję:
...
Importuj projekt z modelu zewnętrznego
Utwórz strukturę projektu IDEA na istniejącym modelu zewnętrznym (Eclipse, Maven ...)
...
Stamtąd znajdziesz to całkiem prosto.
W twoim przypadku możesz zamknąć swój projekt i po prostu utworzyć nowy. Wybierz katalog swojego projektu, który go zastąpi, dzięki czemu będzie to projekt Maven.
źródło
Importowanie zależności Maven może nie działać, jeśli kilkakrotnie importujesz tę samą ścieżkę. Może się to zdarzyć automatycznie po zaimportowaniu istniejącego projektu maven. Nie mogę zrozumieć, dlaczego tak się dzieje, więc jestem skłonny myśleć, że to błąd.
Na przykład, jeśli mój projekt to
trzy ścieżki można zaimportować jako górne węzły:
W takim przypadku zależności wydają się być prawidłowe, ale nie zostaną one użyte, dopóki nie usuniesz zbędnych ścieżek (w tym przypadku
src/main
isrc/test
). Gdy to zrobisz, odśwież i kliknij Buduj> Odbuduj projekt. IDEA przejmie zależności.Objawem tego problemu jest to, że IDEA ostrzega o powielonej ścieżce podczas ręcznego sprawdzania biblioteki (drugi zrzut ekranu w pytaniu).
Istnieje kilka sposobów ponownego odczytania zależności w razie potrzeby. Jeśli przejdziesz do zakładki „Projekty Maven”, w lewym górnym rogu zakładki znajduje się ikona „Reimportuj wszystkie projekty Maven”. Jeśli podejrzewasz, że IDEA się pomyliło, możesz kliknąć Plik> Unieważnij pamięć podręczną.
źródło
Przejdź do struktury projektu, w obszarze Ustawienia projektu, moduły wybierz tabelę zależności. Dla każdej zależności zmień zakres z „Testuj” na „Kompiluj”.
źródło
Ponownie zaimportuj projekt. Jeśli zainstalujesz wtyczkę maven, możesz jej użyć.
Kliknij prawym przyciskiem myszy projekt -> Maven -> Reimport
źródło
Pierwsza ścieżka sprawdzania Określona dla pliku ustawień użytkownika: w Ustawieniach -> Kompilacja, wykonanie, programowanie -> Kompilacja narzędzi -> Maven . Pole powinno mieć ścieżkę do pliku settings.xml twojego maven. Również plik settings.xml powinien mieć poprawną ścieżkę do zdalnego repozytorium.
źródło
Miałem podobny problem, w moim przypadku używam niestandardowego,
settings.xml
który nie został wybrany z IntelliJ.Rozwiązanie:
File > Settings > Build, Execution, Deployment > Maven: User settings file
(wybierz tutaj moje niestandardowe ustawienia.xml).źródło
Miałem ten sam problem i wypróbowałem wszystkie wymienione tutaj odpowiedzi, żadne nie zadziałało.
Prostym rozwiązaniem jest przejście do folderu projektu i usunięcie wszystkich plików .idea i .iml i ponowne uruchomienie idei IntelliJ. To działa. Nie musisz nic robić z ustawieniami.
źródło
Natknąłem się na problem polegający na tym, że niektórych zależności zależnych nie można rozwiązać w IntelliJ 2016.3.X. Można to naprawić, zmieniając
Maven home directory
w Ustawienia> Kompilacja, wykonanie, wdrożenie> Narzędzia kompilacji> Maven zBundled (Maven 3)
na/usr/share/maven
.Następnie wszystkie zależności zostały rozwiązane, jak w poprzednich wersjach IntelliJ.
źródło
Maven - Reimport nie działało dla mnie. Mam projekt Spring w STS (Eclipse) i moim rozwiązaniem jest zaimportować projekt do IDEA w następujący sposób:
1) Plik - Nowy - Projekt z istniejących źródeł ... - wybierz katalog - wybierz Eclipse.
2) Ustaw Autoimport Maven na true w ustawieniach.
3) Następnie kliknij pom.xml prawym przyciskiem myszy i wybierz Dodaj jako projekt Maven.
Następnie zaimportował wszystko.
źródło
Miałem podobny problem z moim komputerem Macbook, po prostu dokonałem niewielkiej zmiany
pom.xml
i zaczął pobierać wszystkie zależności:Wcześniejsze zależności zostały napisane jak poniżej dla mojego komputera z systemem Windows:
Ja po prostu usunięte
<dependencies>
i</dependencies>
tagi i zaczęło pobierając wszystkie zależności:Nie jestem pewien, czy to zadziała dla ciebie czy nie ... ale działało dobrze dla mnie.
Dzięki
źródło
Jeśli w prawym dolnym rogu jest napisane „2 procesy działają ...” lub podobne, być może trzeba poczekać, aż to się skończy, ponieważ pobranie wszystkich słoików może zająć trochę czasu.
źródło
Rozwiązałem ten problem, aktualizując mój plik settings.xml poprawną konfiguracją kopii lustrzanej. Wygląda na to, że intellij będzie próbował pobierać metadane z repozytorium za każdym razem, gdy moduł maven zostanie zaimportowany.
źródło
Trochę porwania, aby dodać to, co skończyło się dla mnie działaniem:
Przejdź do
Maven Projects
paska bocznego po prawej stronie IDE i sprawdź, czy Twoje zależności są poprawnie wymienione w module pod nim. Zakładając, że tak, poproś IDEA o ponowne zaimportowanie (pierwszy przycisk u góry wygląda jak dwie niebieskie strzałki tworzące okrąg przeciwnie do ruchu wskazówek zegara).Gdy to zrobiłem i pozwoliłem IDEA ponownie załadować projekt dla mnie, wszystkie moje zależności zostały magicznie zrozumiane.
Dla odniesienia: to było z
IDEA 13.1.2
źródło
Napotkałem ten sam problem i wypróbowałem wszystko, co nie rozwiązało problemu, korzystałem z wersji Intellij 13.1.3
W końcu, po spędzeniu kilku godzin na próbach naprawy, postanowiłem wypróbować zaktualizowaną wersję i otworzyłem projekt w wersji 14.1.4, co ostatecznie rozwiązało problem. Uważam to za prawdopodobny błąd w poprzedniej wersji.
Mam nadzieję, że to pomoże!
źródło
Udało mi się to rozwiązać, usuwając niepotrzebne moduły z Ustawień projektu -> Lista modułów .
Okazuje się, że te dodatkowe moduły zostały automatycznie utworzone przez IntelliJ IDEA, kiedy stworzyłem projekt IntelliJ, importując go z folderu projektu (zamiast otwierając plik pom.xml). Następnie, po zadeklarowaniu projektu jako projektu Maven, stworzono odpowiednie moduły i istniejące moduły powodowały konflikt z nimi. Możliwe jest również wykluczenie tych modułów podczas tworzenia projektu.
źródło
Udało mi się usunąć folder .idea z katalogu projektu, a następnie ponownie zaimportować projekt jako projekt Maven.
źródło
W moim przypadku jeden z modułów został z jakiegoś powodu zignorowany. Aby rozwiązać ten problem: kliknij prawym przyciskiem myszy problematyczny moduł i wybierz „Unignore Projects”.
źródło
W moim przypadku ścieżka do JAVA używana przez MAVEN nie została ustawiona jako JAVA_HOME, jak skonfigurowano na komputerze. Dlatego nawet nie próbowano pobrać zależności. Kroki, które wykonałem, które rozwiązały ten problem,
Sprawdzono ścieżkę JAVA, Ustawienia >> Kompilacja >> Kompiluj narzędzia >> Importowanie >> JDK dla importera . Wskazał na JAVA_HOME.
mvn clean install -U
Używane powyżej polecenia, aby wymusić pobieranie zależności.
Ponownie zaimportowane projekty Maven
źródło
Jeśli wszystko inne zawiedzie, sprawdź, czy plik jar w lokalnym repozytorium .m2 jest rzeczywiście prawidłowy i nie jest uszkodzony. W moim przypadku plik nie został w pełni pobrany.
źródło
W maven uwzględniono zależności, kiedy usunąłem sekcję xml dependenceManagement i po prostu miałem zależności bezpośrednio w sekcji projektu
źródło
Problem wydaje się polegać na tym, że pomimo umieszczenia swoich zależności w pliku pom.xml, IntelliJ IDEA nie odbudowuje tych zależności podczas uruchamiania projektu.
Dla mnie zadziałało to:
Przejdź do „Uruchom” -> „Edytuj konfiguracje ...”, znajdź aplikację, upewnij się, że sekcja „Przed uruchomieniem:” jest rozwinięta, kliknij zielony znak plus i wybierz „Kompiluj projekt”.
źródło
byłem w stanie naprawić mój, dodając te wiersze kodu po tagu kompilacji w pliku pom.xml, porównałem go z mojego działającego projektu i odkryłem, że to różnica, teraz wszystko jest w porządku.
źródło