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?

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.


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?


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


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


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.

16

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

wprowadź opis zdjęcia tutaj


9

uruchom to polecenie mvn -U clean install


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



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.

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.