IntelliJ IDEA: so synchronisieren Sie den Projekt-Bibliotheken mit Abhängigkeiten in pom.xml?
Wenn ich eine Abhängigkeit, die version in einer der pom.xml von meinen Projekt (mehrere Module) sehe ich die neue version und die alte im Abschnitt Bibliotheken der Projektstruktur.
Zum Beispiel, vor kurzem habe ich geändert Drools version 5.4 auf 5.5. Als ich in die Bibliotheken Abschnitt sah ich beide libraries so, dass ich manuell entfernt, den 5.4.
Wie kann ich sagen, die IDEE zu entfernen, die Bibliotheken, die nicht auf die in der pom.xml Dateien?
Danke
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, dies ist kein problem mit dem synchronisieren von Projekt-Bibliotheken.
Den Synchronisation-Einstellungen kann festgelegt werden, über
Settings > Maven > Importing > Import maven project automatically
Aber ich denke, das ist das andere problem. Es ist verursacht durch andere Abhängigkeit, die verwendet verschiedene Drools-version. Sie müssen ausschließen, dass der alte Drools-version aus, diese Abhängigkeit explizit.
Wie findet sich dieses problem verursacht Abhängigkeit?
Öffnen Sie Ihre Abhängigkeitsstruktur. Es kann getan werden, über
right click
auf Ihrem maven-Modul und klicken Sie aufShow dependencies
oder drücken Sie Strg + Alt + Umschalt + U.Wird es einige rote Linien, die zu unterschiedlichen version des gleichen maven-Artefakt. Klicken Sie einfach darauf und Idee, die Sie führen wird, wo die Inkonsistenz passiert ist. Dann einfach mit der rechten klicken Sie auf maven-Artefakt mit einer falschen version und klicken Sie auf
Exlude
oder Umschalt + entf.Überprüfen Sie Ihre
pom.xml
. Sollten Sie feststellen Zeile wie diese:Danke Ihnen sehr, Mailand.
Das problem in meinem Fall zu sein scheint, eine IntelliJ-bug (oder-feature!) aber deine Antwort war wirklich hilfreich, so werde ich markieren Sie es als akzeptiert. Es scheint, dass IntelliJ nicht aktualisieren Abhängigkeit Versionen für die Enkelkinder.
Werde ich erklären, was passiert.
Ich habe ein parent-POM (P) und zwei Kinder POMs (C1 und C2).
Dem übergeordneten P definiert einige Eigenschaften einschließlich:
Kind C1, hängt davon ab, dass die Drools-version mit:
C2 hängt von C1, so dass es hängt davon ab, dass die Drools-version indirekt.
Wenn ich die version in der parent POM zu 5.5.0.Final und änderungen importieren (der POM), dann wird der Abschnitt Bibliotheken der Projekt-Struktur-Fenster enthält beide Versionen: 5.4.0.Endgültig und 5.5.0.Endgültig.
Der Grund ist C2 immer noch denkt, dass es hängt davon ab, auf die alte version. Die Abhängigkeit Baum für C1 zeigt die Rechte version 5.5.0.Letzte von Drools. Jedoch, die Abhängigkeitsstruktur von C2 zeigt eine Abhängigkeit von C1 (rechts), die wiederum hängt von der alten 5.4.0.Finale version (falsch).
Zu beheben, ich reimport C1-POM (oder alle POM ' s, die ich denke). Dann die 5.4.0.Endgültig gegangen ist von den Bibliotheken und den Abhängigkeitsbaum von C2 spiegelt die Recht Drools-version.