2015-01-06 3 views
5

Der Befehl mvn -U erzwingt alle Abhängigkeiten von Remote-Repository zu aktualisieren. Ist es möglich, ein solches Update für eine bestimmte Auswahl von Abhängigkeiten zu erzwingen, durch explizite Auswahl/durch irgendeine Logik?Maven-Force-Update nur für bestimmte Abhängigkeiten (mvn -U für ausgewählte Abhängigkeiten)

Die Argumentation

Ich will nicht alle Abhängigkeiten haben wir die Überprüfung zwingen, weil, wie hogiht Zeit ist es aufwendig. Alles, was ich brauche, ist, ein paar von ihnen zu überprüfen oder sogar nur eine Abhängigkeit anzugeben. Solch eine Lösung ist sehr erwünscht.

+0

nicht durch die -U-Option. Das maven-dependency-plugin hat ein "revolve" -Ziel: http://maven.apache.org/plugins/maven-dependency-plugin/resolve-mojo.html - es könnte möglich sein, eine Kombination aus excludes und den includeArtifactIds zu verwenden um dies zu tun? Die andere Möglichkeit wäre, das Artefakt und die Metadaten-Dateien aus dem lokalen Repository zu löschen. Das sollte Maven zwingen, dieses Artefakt wieder aufzulösen, da keine weiteren Informationen verfügbar sind. – wemu

+0

Es ist eine andere Frage, für die ich die Antwort nicht kenne. Versucht herauszufinden, wie es möglich ist, aber nicht herausgefunden hat. Über das Löschen von Daten, das mache ich jetzt und was soll ich damit machen? Fühlt sich auch "manuell" für mich an. – Stas

+1

Möchten Sie Ihre Pom-Datei automatisch aktualisieren, um eine bestimmte neuere Version einer Abhängigkeit auszuwählen? Richtig? – khmarbaise

Antwort

3

Es gibt zwei Maven Plugins, die Ihnen hier helfen können.

Die erste, Abhängigkeit, wird die gegebene Version einer Abhängigkeit einfach herunterladen: mvn dependency:get -Dartifact=groupId:artifactId:version

Die zweite, Versionen, bietet einige Verhaltensweisen, die Sie auch hilfreich sein können.

Durch Ausführen von wird die Pom Ihres Projekts mit der neuesten Release-Version der durch das Flag "-Dincludes" angegebenen Abhängigkeit aktualisiert. Sie könnten dann den ersten Befehl ausführen, um die Version herunterzuladen, die jetzt von Ihrem Pom referenziert wird.

Diese beiden Verhaltensweisen können stark angepasst und automatisiert werden, um einige ziemlich tolle Dinge zu tun. Um weitere Hilfe zu einem Plugin Ziel zu bekommen, laufen: mvn plugin:help -Ddetail=true -Dgoal=goal

Beispiel: mvn versions:help -Ddetail=true -Dgoal=use-latest-releases

Für weitere Informationen: versions, dependency und plugins

+1

Schön, sieht aus wie 'Abhängigkeit: get -Dartifact = groupId: artifactId: Version' ist genau das, was ich brauchte. – Stas

Verwandte Themen