2017-09-05 301 views
1

我有以下两种Maven项目Maven的:版本:更新父随后安装安装旧版本

pom.xml (parent) 

-

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

唯一的地方,神器版本将被定义为母公司。其他项目或其模块直接或间接从父项继承版本。我想自动将聚集版本和它的模块版本匹配到父级。

后,我升级父版本和mvn install它,我试图用版本,Maven的插件升级骨料项目,它的模块为新的父用下面的命令匹配:

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

父级和父级模块父级已正确升级,但安装目标仍然在version-maven-plugin所做的更改之前安装该版本。如果我想安装升级版本,则必须在versions插件之后单独拨打mvn clean install。为什么install在同一个命令中选择了versions插件所做的更改?我也试图包括versions:commit没有效果。这是构建日志以显示正在发生的事情。

[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] ------------------------------------------------------------------------ 

回答

0

Maven的运行版本插件后,它已经解决了所有依赖的版本,所以有各地调用了两次没办法。一次用于更新版本,然后构建项目。

maven执行阶段在this SO answer中有很好的解释。特别参见步骤7.