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.