Erzwingen Sie, dass Intellij IDEA alle Maven-Abhängigkeiten erneut liest

297

Wie erzwinge ich die Idee von Intellij, alle in der POM-Datei angegebenen Abhängigkeiten erneut zu lesen / zu aktualisieren?

kubek2k
quelle

Antworten:

354

Drücken Sie Ctrl+ Shift+ Afinden Aktionen, und geben Sie „Re - Import“, werden Sie die „Reimport Alle Maven Projekte“ finden.

Verwenden Sie auf einem Mac stattdessen + + A.

Jacky
quelle
1
Nehmen wir an, ich habe 5 Module, die alle auf Maven basieren, in einem einzigen Projekt, und das mache ich. Gilt dieser Befehl für alle Module, nur für das ausgewählte oder das erste im Projekt, wenn es ausgeführt wird?
Slartibartfast
hat sich das geändert? Ich sehe keinen Reimport am 2017.1 in Maven
Winnemucca
1
@ Winnemucca Ich habe es gerade am 2017.2 gemacht. Ich warte darauf, dass es jetzt zu Ende ist.
MrClean
1
Ich musste das Maven-Plugin aktivieren, um dies zu tun.
Codefreak
1
@Winnemucca Sie können mit der rechten Maustaste auf den Pom klicken, in der Dropdown-Liste zu Maven gehen und Reimport wählen.
Jones-Chris
125

Öffnen Sie die Registerkarte / das Fenster "Maven-Projekte" und klicken Sie auf "Alle Maven-Projekte erneut importieren" in der oberen linken Ecke, um alle Abhängigkeiten aus ihren Repositorys neu zu laden. Die Statusleiste informiert über den Vorgang.

Was lässt Sie denken, dass dies nicht richtig funktioniert? Möglicherweise kann eine der Abhängigkeiten nicht aus dem Repository geladen werden?

Magomi
quelle
1
Wir haben die Gewohnheit, eine Nicht-Snapshot-Version für die laufende Entwicklung zu verwenden, und projektübergreifende Abhängigkeiten schlagen manchmal fehl.
kubek2k
1
Ich fürchte, dieses Problem hängt von Maven ab. Maven sucht nur bei SNAPSHOTs nach Updates. Per Definition ändern sich Nicht-SNAPSHOT-Versionen niemals, sodass Maven im lokalen Repository nicht nach neueren Versionen suchen muss. Eine (ziemlich unhöfliche) Lösung wäre, die Bibliothek aus dem lokalen Repository zu entfernen, bevor Sie maven aufrufen. Dann muss die Bibliothek neu geladen werden.
Magomi
9
es scheint, dass der Reimport alle die -U-Flagge erzwingt, was ich wollte :)
kubek2k
Ich habe mit der rechten Maustaste auf das übergeordnete Projekt geklickt und Maven -> Reimport ausgeführt und gehofft, dass die Abhängigkeiten aller untergeordneten Projekte aktualisiert werden, dies ist jedoch nicht der Fall. Danke für die Lösung!
Botchniaque
6
Um die Registerkarte / das Fenster "Maven-Projekte" zu finden, gehen Sie zu Ansicht> Werkzeugfenster> Maven-Projekte
Kevin Wheeler
64

Es gibt auch eine nützliche Einstellung, die IntelliJ anweist, nach neuen Versionen von Abhängigkeiten zu suchen, auch wenn sich die Versionsnummern nicht geändert haben. Wir hatten ein lokales Maven-Repository und ein Snapshot-Projekt, das einige Male aktualisiert wurde, aber die Versionsnummern waren gleich. Das Problem war, dass IntelliJ / Maven dieses Projekt aufgrund der festen Versionsnummer nicht aktualisiert hat.

Um die Überprüfung auf eine geänderte Abhängigkeit zu aktivieren, obwohl sich die Versionsnummer nicht geändert hat, gehen Sie zur Registerkarte "Maven-Projekte", wählen Sie "Maven-Einstellungen" und aktivieren Sie dort "Immer Snapshots aktualisieren".

Björn Jacobs
quelle
2
Ha! automatisierte Updates in einem JAVA-Projekt ... Ich muss sagen, dass dieses NICHT immer ein Gewinner ist ... und möglicherweise sogar mit Maven 3+
beauXjames
@beauXjames .. das hat bei mir nicht funktioniert, aber ich stehe genau vor dem gleichen Problem. wie man das löst.
Sathesh
1
Ich gehe oft in das lokale Repo-Verzeichnis ({user} \. M2 \ ...) und lösche diejenigen, von denen ich weiß, dass sie mit meinem Projekt verknüpft sind. Dann lasse ich den Installationsprozess ablaufen und rufe sie erneut von Grund auf ab, damit es keine Versionskonflikte gibt
beauXjames
Von help: "Aktivieren Sie dieses Kontrollkästchen, wenn IntelliJ IDEA Snapshots bei der Synchronisierung aktualisieren soll." Mit anderen Worten, es ist nicht vollautomatisch - Sie müssen Synchronize(im Kontextmenü oder Ctrl-Alt-Y), aber wenn Sie diese Option aktivieren, werden aktualisierte SNAPSHOTVersionen abgerufen . WARNUNG: Möglicherweise sind andere Feinheiten beteiligt, wie z. B. Import Changes- dies scheint für mich bisher nicht perfekt reproduzierbar zu sein. Vielleicht war alles in meiner Vorstellung - was immer zu funktionieren scheint, ist voll, reimportwie in anderen Antworten vorgeschlagen.
Nobar
36

Für IntelliJ IDEA 14.0

Projekt> [Ihr Projektname]> Rechtsklick> Maven> Neu importieren

Teejay
quelle
17

Wenn der Reimport nicht funktioniert (dh alte Versionen von Abhängigkeiten nach einem POM-Update nicht entfernt werden), gibt es noch eine Chance:

  • Öffnen Sie die Projekteinstellungen (STRG + UMSCHALT + ALT + S).
  • Löschen Sie auf Modulen alle Bibliotheken, die Sie erneut importieren möchten (z. B. Duplikate).
  • IDEA warnt, dass einige noch verwendet werden, bestätigen Sie
  • Übernehmen und OK auswählen
  • Importieren Sie dann alle Maven-Projekte erneut.
Andreas Dolk
quelle
16

Die Schaltfläche ganz links (blauer Zyklus) unten importiert auch alle Maven-Projekte erneut:

Geben Sie hier die Bildbeschreibung ein

Umut Uzun
quelle
9

Führen Sie diesen Befehl aus mvn -U clean install

Babajide Apata
quelle
3
Dies ist zwar eine Lösung, muss jedoch über die CLI erfolgen. Die Frage ist, wie man es innerhalb von IDEA macht.
Talonx
Auf der IDE können Sie ein Maven-Ziel ausführen und den obigen Befehl verwenden, ohne Ihre CLI oder Ihr Terminal zu
öffnen
2
Diese Art von Niederlagen hat den Zweck einer Maven-Integration in IDEA.
Talonx
1
Wir sprechen über die Option -U, die in IDEA nicht vorhanden ist. Die Option "Neu importieren" klingt so, ist es aber nicht.
Talonx
1
Ich sehe, dass Sie sich auf das Eingeben und Ausführen eines Maven-Ziels beziehen. In diesem Fall ist dies möglich. Ich bezog mich jedoch darauf, dass -U im integrierten Menü auf der rechten Seite nicht vorhanden ist ("Maven Projects").
Talonx
3

Ich hatte ein Problem, bei dem IntelliJ keine Klassen kompilieren konnte und behauptete, dass Abhängigkeiten zwischen Projekten fehlten. Das Projekt erneut zu importieren, wie in den Antworten auf diese Frage vorgeschlagen, hat das Problem nicht gelöst. Die Lösung für mich war:

  1. alle Projekte entfernen (Registerkarte Projekt / Rechtsklick auf den Stammordner / maven / Projekte entfernen);
  2. Schließen Sie den Editor.
  3. Kompilieren Sie alle Projekte mit maven in der Befehlszeile.
  4. Öffnen Sie den Editor für dasselbe Projekt.
  5. füge die Projekte erneut zu Maven hinzu (Registerkarte Maven / Maven-Projekte hinzufügen (grün +) / wähle den Root-Pom);

WARNUNG: Bei einigen Projekten müssen Sie möglicherweise den maximalen Speicher für den Maven-Import erhöhen (Maven-Einstellungen auf der Registerkarte Maven / Importieren / VM-Optionen für den Importer).

Manuel Romeiro
quelle
3

Einstellung> Maven> Schnappschüsse immer aktualisieren

nobjta_9x_tq
quelle
0

Wenn Sie Versionsbereiche für Abhängigkeiten verwenden, stellen Sie sicher, dass IntelliJ Maven 3 zum Importieren des Projekts verwendet. Sie finden diese Einstellung unter : Settings > Maven > Importing > Use Maven3 to import project. Andernfalls stellen Sie möglicherweise fest, dass SNAPSHOT-Versionen nicht korrekt importiert werden.

vegemite4me
quelle