Zmuś Intellij IDEA do ponownego przeczytania wszystkich zależności od maven

297

Jak zmusić intellij idea do ponownego przeczytania / aktualizacji wszystkich zależności określonych w pliku pom?

kubek2k
źródło

Odpowiedzi:

354

Naciśnij Ctrl+ Shift+, Aaby znaleźć działania, i wpisz „reimport”, znajdziesz „Reimport All Maven Projects”.

Na komputerze Mac użyj zamiast tego + + A.

Jacky
źródło
1
Powiedzmy, że mam 5 modułów, z których każdy oparty jest na maven, w jednym projekcie i robię to. Czy to polecenie ma zastosowanie do wszystkich modułów, tylko wybranego, czy pierwszego w projekcie podczas jego działania?
slartibartfast
czy to się zmieniło? Nie widzę ponownego importu w 2017.1 w Maven
Winnemucca
1
@Winnemucca Właśnie to zrobiłem w 2017.2. Oczekiwanie na zakończenie.
mrClean
1
Aby to zrobić, musiałem włączyć wtyczkę Maven.
codefreak
1
@ Winnemucca możesz kliknąć pom pom prawym przyciskiem myszy, przejść do rozwijanego menu Maven i wybrać Reimport.
jones-chris
125

Otwórz zakładkę / okno „Projekty Maven” i kliknięcie „Reimportuj wszystkie projekty Maven” w lewym górnym rogu rozpoczyna przeładowywanie wszystkich zależności z ich repozytoriów. Pasek stanu informuje o procesie.

Co pozwala sądzić, że to nie działa poprawnie? Może któraś z zależności nie może zostać załadowana z repozytorium?

magomi
źródło
1
mamy zepsuty nawyk używania wersji bez migawki do ciągłego rozwoju, a zależności między projektami czasami zawodzą.
kubek2k
1
Obawiam się, że ten problem zależy od raju. Maven sprawdza tylko aktualizacje SNAPSHOT. Z definicji wersje inne niż SNAPSHOT nigdy się nie zmienią, więc maven nie musi sprawdzać nowszych wersji niż to w lokalnym repozytorium. Rozwiązaniem (dość niegrzecznym) byłoby usunięcie biblioteki z lokalnego repozytorium przed wywołaniem maven. Następnie musi ponownie załadować bibliotekę.
magomi
9
wydaje się, że ponownie zaimportować wszystkie siły flaga -U co jest to, co chciałem :)
kubek2k
Kliknąłem prawym przyciskiem myszy projekt nadrzędny i robiłem Maven -> Reimport i miałem nadzieję, że zaktualizuje on zależności wszystkich dzieci, ale tak się nie stało. Dzięki za rozwiązanie!
botchniaque
6
Aby znaleźć kartę / okno „Projekty Maven”, przejdź do Widok> Narzędzia systemu Windows> Projekty Maven
Kevin Wheeler
64

Jest też jedno przydatne ustawienie, które informuje IntelliJ, aby sprawdzał, czy są nowe wersje zależności, nawet jeśli numery wersji się nie zmieniły. Mieliśmy lokalne repozytorium maven i projekt migawki, który został kilkakrotnie zaktualizowany, ale numery wersji pozostały takie same. Problem polegał na tym, że IntelliJ / Maven nie zaktualizował tego projektu z powodu ustalonego numeru wersji.

Aby włączyć sprawdzanie zmienionej zależności, chociaż numer wersji nie zmienił się, przejdź do zakładki „Projekty Maven”, wybierz „Ustawienia Maven” i tam aktywuj „Zawsze aktualizuj migawki”.

Björn Jacobs
źródło
2
ha! zautomatyzowane aktualizacje w projekcie JAVA ... Będę musiał powiedzieć, że ten NIE zawsze jest zwycięzcą ... i może nawet być
skrzywdzony
@beauXjames .. to nie działało dla mnie, ale mam dokładnie ten sam problem. jak to rozwiązać.
Sathesh,
1
Często wchodzę do lokalnego repozytorium ({użytkownik} \. M2 \ ...) i usuwam te, o których wiem, że są powiązane z moim projektem, a następnie pozwalam procesowi instalacji wyjść i pobierać je od nowa, aby nie było konfliktów wersji
beauXjames
Od help: „Zaznacz to pole wyboru, jeśli chcesz, aby IntelliJ IDEA aktualizowało migawki podczas synchronizacji”. Innymi słowy, nie jest w pełni automatyczny - musisz Synchronize(w menu prawym przyciskiem myszy lub Ctrl-Alt-Y), ale włączenie tej opcji powoduje pobranie zaktualizowanych SNAPSHOTwersji. OSTRZEŻENIE: Mogą występować inne subtelności, na przykład Import Changes- jak dotąd nie wydaje mi się to w pełni powtarzalne. Może to wszystko było w mojej wyobraźni - to, co zawsze wydaje się działać, jest pełne, reimportjak sugerują inne odpowiedzi.
nobar
36

Dla IntelliJ IDEA 14.0

Projekt> [nazwa twojego projektu]> kliknij prawym przyciskiem myszy> Maven> Reimport

teejay
źródło
17

Jeśli ponowny import nie działa (tzn. Nie usuwa starych wersji zależności po aktualizacji pom), istnieje jeszcze jedna szansa:

  • otwórz ustawienia projektu (CTRL + SHIFT + ALT + S)
  • w modułach usuń wszystkie biblioteki, które chcesz ponownie zaimportować (np. duplikaty)
  • IDEA ostrzeże, że niektóre są nadal używane, potwierdź
  • Zastosuj i wybierz OK
  • następnie ponownie zaimportuj wszystkie projekty maven.
Andreas Dolk
źródło
16

Lewy przycisk (niebieski cykl) poniżej również importuje ponownie wszystkie projekty maven:

wprowadź opis zdjęcia tutaj

Umut Uzun
źródło
9

uruchom to polecenie mvn -U clean install

Babajide Apata
źródło
3
Chociaż jest to rozwiązanie, należy to zrobić z poziomu interfejsu CLI. Pytanie dotyczy robienia tego z wnętrza IDEA.
talonx
na IDE możesz wykonać cel raju i użyć powyższej komendy bez otwierania CLI lub terminalu
Babajide Apata
2
Tego rodzaju porażki mają na celu integrację maven z IDEA.
talonx,
1
Mówimy o opcji -U, która nie jest obecna w IDEA. Opcja „Reimport” brzmi tak, jak jest, ale tak nie jest.
talonx
1
Widzę, że masz na myśli pisanie i wykonywanie celu raju, w którym to przypadku jest to możliwe. Miałem jednak na myśli to, że -U nie było obecne we wbudowanym menu po prawej stronie („Projekty Maven”).
talonx
3

Miałem problem polegający na tym, że IntelliJ nie był w stanie skompilować klas, twierdząc, że brakuje zależności między projektami. Ponowne zaimportowanie projektu zgodnie z sugestiami zawartymi w odpowiedziach na to pytanie nie rozwiązało problemu. Rozwiązaniem było dla mnie:

  1. usuń wszystkie projekty (karta projektu / kliknij prawym przyciskiem myszy folder główny / maven / usuń projekty);
  2. zamknij edytor;
  3. skompiluj wszystkie projekty z maven w wierszu poleceń;
  4. otwórz edytor tego samego projektu;
  5. ponownie dodaj projekty do maven (karta maven / dodaj projekty maven (zielony +) / wybierz root pom);

OSTRZEŻENIE: w niektórych projektach może być konieczne zwiększenie maksymalnej pamięci do importowania maven (ustawienia maven na karcie maven / Importowanie / opcje VM dla importera).

Manuel Romeiro
źródło
3

Ustawienia> Maven> Zawsze aktualizuj migawki

nobjta_9x_tq
źródło
0

Jeśli używasz zakresów wersji dla jakichkolwiek zależności, upewnij się, że IntelliJ używa Maven 3 do importowania projektu. Można znaleźć to ustawienie w: Settings > Maven > Importing > Use Maven3 to import project. W przeciwnym razie może się okazać, że wersje SNAPSHOT nie zostaną poprawnie zaimportowane.

vegemite4me
źródło