So erhalten Sie eine Befehlszeileneigenschaft zum Überschreiben einer Maven-Eigenschaft

Ich habe eine POM-Datei, in der die Versionsnummern einiger Abhängigkeiten von der abhängenProjektversion Eigenschaft in den Einstellungen der POM-Datei angegeben. Kann ich das über die Kommandozeile überschreiben? Wenn das so ist, wie?

Hier ist die lange Geschichte:

Wir stellen derzeit unsere Projekte auf maven um, sind aber noch nicht ganz da. Es gibt mehrere Module, die noch nicht mit Maven erstellt wurden und daher Abhängigkeiten in unserem Projekt sind (sie werden durch Ant in Jars eingebaut). Bei der Veröffentlichung möchten wir, dass alle diese Jars erstellt werden und dieselbe Versionsnummer wie das übergeordnete Projekt enthalten. Für eine Veröffentlichung werden zwei Schritte ausgeführt (bis wir alles mit maven bekommen können)

Die Gläser sind mit der korrekten Release-Version (12.12.4.0) in ant eingebaut.Das Maven Release Plugin wird verwendet, um das Projekt in unserem Artefakt-Repository bereitzustellen.

Im zweiten Schritt werden Befehlszeilenargumente verwendet, um das Release anzugeben:

mvn release:prepare -DreleaseVersion=12.12.4.0 -DdevelopmentVersion=12.12.4.1-SNAPSHOT -Dtag=iv-12.12.4.0

Ich möchte, dass die pom-Datei mit der angegebenen Version aktualisiert wird. Wenn dieser Befehl ausgeführt wird, wird jedoch weiterhin die Version in der POM-Datei (12.12.4.0-SNAPSHOT) verwendet. Dies schlägt fehl, wenn der Schritt "Abhängigkeiten und Plugins auf Snapshots prüfen" ausgeführt wird, und ich muss meine Jars beheben, für die noch die Version 12.12.4.0-SNAPSHOT aus der Eigenschaft maven version verwendet wird.

Dies führte mich zu der ursprünglichen Frage, wie ich dies überschreiben kann, damit die Version in die in der Befehlszeile angegebene Version aufgelöst wird. Zusätzliche Fragen, die mich darüber hinwegbringen könnten, sind: Wie kann das maven-Release-Plugin die pom-Datei vor dieser Überprüfung aktualisieren? Überspringen der Momentaufnahmeprüfung (nicht wünschenswert)

Ich könnte eine Eigenschaft in der POM-Datei erstellen, die ich überschreiben kann, aber dann müsste ich die Versionsnummer an zwei Stellen in der POM-Datei beibehalten.

Gedanken?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage