2017-09-05 1 views
0

ich folgende Maven Projektstruktur habenMaven Versionen Plugin, update Eltern rekursiv in Multi-Modul-Projekt

pom.xml (parent) 

pom.xml (extends parent, aggregates modules) 
| 
|--pom.xml (extends aggregate) 

Nun, wenn ich mvn install Mutter Version aktualisiert und mvn versions:update-parent auf den gesamten Projekt laufen, würde ich außer erste das Aggregat Das übergeordnete Element wird aktualisiert, und das Aggregat erbt die Version. Anschließend werden die übergeordneten Elemente des Moduls für das aktualisierte Aggregat aktualisiert, wodurch wiederum die Version erben wird. Das würde Sinn machen mit der Tatsache, dass aggregierte Projekte nacheinander alle Module mit demselben Maven Kommando erstellen.

Dies ist jedoch nicht der Fall mit Maven Versions Plugin. Das Beispiel aktualisiert nur das Aggregatelternteil, lässt aber die Module (die es erben) unverändert. Ist dieser Fehler im Plugin? Wie kann ich mit diesem Problem umgehen?

Ich weiß, ich mvn versions:set im Aggregat laufen konnte, um erfolgreich Module zu aktualisieren, aber in diesem Fall habe ich die Version angeben (im Vergleich zu neuesten Elternteil verwenden). Ich weiß, ich könnte auch ein Skript machen, um das herauszufinden, aber das ist schmutzig.

Also, wie aktualisiere ich die Version korrekt mit Maven Version Plugin, wo Projekt Vererbung, Aggregation und erstreckt sich über mehrere Repositories und Eltern POM als einzige Quelle der Versionserklärung?

+0

Das Plugin Sie mit den Tasten [Versionen-Maven-Plugin] (https: // Github .com/mojohaus/versions-maven-plugin /) und nicht das Maven Versions Plugin ... außerdem kannst du ein Beispielprojekt deines Setups erstellen und ein Problem auf dem Versions-Maven-Plugin ... – khmarbaise

Antwort

-1

Nach dem

mvn versions:2.1:update-parent 

können Sie den Befehl versuchen, die Kind-Versionen zu aktualisieren (as given here)

mvn versions:update-child-modules 
Verwandte Themen