2017-09-05 2 views
1

Ich habe die beiden folgenden Maven ProjekteMaven: Versionen: update-Mutter gefolgt von installieren installiert alte Version

pom.xml (parent) 

-

pom.xml (aggregate, extends parent) 
| 
|--pom.xml (module, extends aggregate) 

einzige Ort, wo das Artefakt Version definiert wird, ist die Mutter . Andere Projekte oder ihre Module erben die Version entweder direkt oder indirekt vom übergeordneten Element. Ich möchte automatisch die Aggregatversion und die Modulversionen als übergeordnete Versionen festlegen.

Nachdem ich Eltern Version aktualisiert und mvn install es, ich versucheVersionen-Maven-Plugin zu verwenden, um das Aggregat Projekt zu aktualisieren und es ist Module mit folgendem Befehl, um die neue Mutter zum Spiel:

mvn versions:update-parent versions:update-child-modules clean install

Die übergeordneten übergeordneten Elemente und die übergeordneten Module werden ordnungsgemäß aktualisiert. install goal installiert jedoch die Version vor den Änderungen, die von version-maven-plugin vorgenommen wurden. Wenn ich die aktualisierte Version installieren möchte, muss ich mvn clean install separat nach dem versions Plugin aufrufen. Warum wählt install diese Änderungen, die von versions Plugin in demselben Befehl vorgenommen werden? Ich habe auch versucht, versions:commit ohne Wirkung einzuschließen. Hier ist das Build-Protokoll, um zu zeigen, was passiert.

[email protected] MINGW64 ~/Desktop/mavenversiontest/aggregate (master) 
$ mvn versions:update-parent versions:update-child-modules clean install 
[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Build Order: 
[INFO] 
[INFO] aggregate 
[INFO] module 
[INFO] submodule 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building aggregate 1.0.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- versions-maven-plugin:2.4:update-parent (default-cli) @ aggregate --- 
[INFO] Updating parent from 1.0.0 to 2.0.0 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building module 1.0.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- versions-maven-plugin:2.4:update-parent (default-cli) @ module --- 
[INFO] Project's parent is part of the reactor 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building submodule 1.0.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- versions-maven-plugin:2.4:update-parent (default-cli) @ submodule --- 
[INFO] Project's parent is part of the reactor 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building aggregate 1.0.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- versions-maven-plugin:2.4:update-child-modules (default-cli) @ aggregate --- 
[INFO] Module: module 
[INFO]  parent was fi.tuomas.testi:aggregate:1.0.0 
[INFO]  updated to fi.tuomas.testi:aggregate:2.0.0 
[INFO] Module: module/submodule 
[INFO]  parent was fi.tuomas.testi:module:1.0.0 
[INFO]  updated to fi.tuomas.testi:module:2.0.0 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building aggregate 1.0.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ aggregate --- 
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ aggregate --- 
[INFO] Installing C:\Users\tutoivon\Desktop\mavenversiontest\aggregate\pom.xml to C:\Users\tutoivon\.m2\repository\fi\tuomas\testi\aggregate\1.0.0\aggregate-1.0.0.pom 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building module 1.0.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ module --- 
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ module --- 
[INFO] Installing C:\Users\tutoivon\Desktop\mavenversiontest\aggregate\module\pom.xml to C:\Users\tutoivon\.m2\repository\fi\tuomas\testi\module\1.0.0\module-1.0.0.pom 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building submodule 1.0.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ submodule --- 
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ submodule --- 
[INFO] Installing C:\Users\tutoivon\Desktop\mavenversiontest\aggregate\module\submodule\pom.xml to C:\Users\tutoivon\.m2\repository\fi\tuomas\testi\submodule\1.0.0\submodule-1.0.0.pom 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Summary: 
[INFO] 
[INFO] aggregate .......................................... SUCCESS [ 0.125 s] 
[INFO] module ............................................. SUCCESS [ 0.010 s] 
[INFO] submodule .......................................... SUCCESS [ 0.011 s] 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.626 s 
[INFO] Finished at: 2017-09-05T11:03:49+03:00 
[INFO] Final Memory: 15M/303M 
[INFO] ------------------------------------------------------------------------ 

[email protected] MINGW64 ~/Desktop/mavenversiontest/aggregate (master) 
$ mvn clean install 
[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Build Order: 
[INFO] 
[INFO] aggregate 
[INFO] module 
[INFO] submodule 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building aggregate 2.0.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ aggregate --- 
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ aggregate --- 
[INFO] Installing C:\Users\tutoivon\Desktop\mavenversiontest\aggregate\pom.xml to C:\Users\tutoivon\.m2\repository\fi\tuomas\testi\aggregate\2.0.0\aggregate-2.0.0.pom 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building module 2.0.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ module --- 
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ module --- 
[INFO] Installing C:\Users\tutoivon\Desktop\mavenversiontest\aggregate\module\pom.xml to C:\Users\tutoivon\.m2\repository\fi\tuomas\testi\module\2.0.0\module-2.0.0.pom 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building submodule 2.0.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ submodule --- 
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ submodule --- 
[INFO] Installing C:\Users\tutoivon\Desktop\mavenversiontest\aggregate\module\submodule\pom.xml to C:\Users\tutoivon\.m2\repository\fi\tuomas\testi\submodule\2.0.0\submodule-2.0.0.pom 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Summary: 
[INFO] 
[INFO] aggregate .......................................... SUCCESS [ 0.333 s] 
[INFO] module ............................................. SUCCESS [ 0.012 s] 
[INFO] submodule .......................................... SUCCESS [ 0.012 s] 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 0.448 s 
[INFO] Finished at: 2017-09-05T11:04:10+03:00 
[INFO] Final Memory: 7M/240M 
[INFO] ------------------------------------------------------------------------ 

Antwort

0

Maven läuft die Versionen Plugin nach es alle Abhängigkeits Versionen behoben ist, so gibt es keine Möglichkeit, es zweimal um den Aufruf. Einmal zum Aktualisieren der Versionen und dann zum Erstellen des Projekts.

Die Maven-Ausführungsstufen sind in this SO answer sehr gut erklärt. Siehe insbesondere Schritt 7.

Verwandte Themen