Versions maven plugin 修改版本


1.簡介

versions-maven-plugin插件可以管理項目版本,
特別是當Maven工程項目中有大量子模塊時,
可以批量修改pom版本號,
插件會把父模塊更新到指定版本號,
然后更新子模塊版本號與父模塊相同,
可以避免手工大量修改和遺漏的問題。

2.使用

 2.1.修改版本號

cmd進入Maven工程根目錄,運行命令:

mvn -f "pom.xml" versions:set -DoldVersion=* -DnewVersion=1.2.0-SNAPSHOT -DprocessAllModules=true -DallowSnapshots=true -DgenerateBackupPoms=true
修改成功后,全部模塊版本號都變成了1.2.0-SNAPSHAOT。

簡化版命令:

mvn versions:set -DnewVersion=1.2.0-SNAPSHOT
該命令和上一條命令等價,

個人推薦顯示的設置參數,
方便后面修改參數。

2.2.回退版本號

mvn versions:revert
注意設置generateBackupPoms為true(默認值),

才會有pom.xml.versionsBackup備份文件,
否則沒有備份文件無法回退版本號。

或者使用版本管理工具提供的撤銷功能,
比如git直接回滾到原始版本:

git reset --hard origin/master

2.3.確認修改過的版本號

mvn versions:commit
查看修改后的pom文件,如果沒有問題則進行確認,

該命令會刪除修改版本號時生成的pom備份文件。

2.4.直接修改版本號,無需確認

設置generateBackupPoms為false,
則直接修改pom,不會生成備份文件,
也就不需要使用commit再次確認,
但是也無法使用revert命令回退版本號。

mvn versions:set -DnewVersion=1.2.0-SNAPSHOT -DgenerateBackupPoms=false

3.參數介紹

參數 默認值 說明
allowSnapshots false 是否更新-snapshot快照版
artifactId ${project.artifactId} 指定artifactId
generateBackupPoms true 是否生成備份文件用於回退版本號
groupId ${project.groupId} 指定groupId
newVersion   設置的新版本號
nextSnapshot false 更新版本號為下一個快照版本號
oldVersion ${project.version} 指定需要更新的版本號可以使用缺省'*'
processAllModules false 是否更新目錄下所有模塊無論是否聲明父子節點
processDependencies true 是否更新依賴其的版本號
processParent true 是否更新父節點的版本號
processPlugins true 是否更新插件中的版本號
processProject true 是否更新模塊自身的版本號
removeSnapshot false 移除snapshot快照版本,使之為release穩定版
updateMatchingVersions true 是否更新在子模塊中顯式指定的匹配版本(如/項目/版本)

更多命令和使用方法,
請參考versions-maven-plugin官網說明。

4.使用技巧

為了更好的使用插件修改版本號,
減少不必要的版本號修改,
推薦Maven工程遵循如下規范:
1.同一項目中所有模塊版本保持一致
2.子模塊統一繼承父模塊的版本
3.統一在頂層模塊Pom的節中定義所有子模塊的依賴版本號,子模塊中添加依賴時不要添加版本號
4.開發測試階段使用SNAPSHOT
5.生產發布使用RELEASE
6.新版本迭代只修改父POM中的版本和子模塊依賴的父POM版本

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM