2017-09-05 302 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.