Versions maven plugin 修改版本
文章目錄
- 版本控制
- 修改全模塊版本號
- 修改模塊版本
- 修改指定模塊版本號
- 參數介紹
代碼經過長期修改后,版本號卻從沒有推進,導致個別release穩定版的模塊更新代碼之后,其他開發機器并不會自動更新本地依賴包。并使主干針對某分支的修改也同步到其他分支。
所以,此文檔描述如何使用versions maven plugin插件,批量修改項目各模塊的版本號,靈活推進或回退版本,避免主干每次更新代碼,立即對所有分支產生影響。
版本控制
修改全模塊版本號
修改版本的時候,必須規范模塊中pom.xml文件的編寫,顯式聲明其父子節點信息(|),需要修改全部模塊的版本號為1.0.1-SNAPSHOT,可以在最頂層的根目錄。運行命令:
mvn versions:set -DoldVersion=* -DnewVersion=1.0.1-SNAPSHOT -DprocessAllModules=true -DallowSnapshots=true修改后輸入:
mvn clean install -DskipTestsMaven開始編譯打包。
成功后,輸入:
檢查工程的依賴樹是否全部依賴了1.0.1-SNAPSHOT的base模塊。
如果全部模塊版本號都改為了:1.0.1-SNAPSHAOT,即修改成功。
若修改失敗,可是使用命令回退版本號:
若確認版本,可使用命令:
mvn versions:commit修改版本所產生的backup文件會自動刪除。
修改模塊版本
若開需要推進某模塊版本號,或有問題需要回退某模塊的版本,或者區域分支想更新某模塊為新版本,例如修改base模塊的版本號為1.0.1-SNAPSHOT,運行命令:
mvn versions:set -DnewVersion=1.0.1-SNAPSHOT -DprocessAllModules=true -DallowSnapshots=true即可修改該模塊及依賴該模塊的版本號為1.0.1-SNAPSHOT,其中參數-DallowSnapshots=true,表示允許release版修改為snapshot版。
加上參數-DprocessAllModules=true表示該模塊下的子模塊及依賴其的版本號都改成1.0.1-SNAPSHOT。
修改指定模塊版本號
如果想修改指定模塊的版本號即整個模塊中依賴其的版本號,比如groupId:groupId:{artifact}的版本號修改為1.0.2-SNAPSHOT,可以運行命令:
mvn versions:set -DgroupId=${groupId} -DartifactId=${artifact} -DoldVersion=* -DnewVersion=1.0.2-SNAPSHOT -DallowSnapshots=true其中,artifactId、groupId和version在maven中形成三維坐標以指定模塊,而在這里指定-DgroupId=${groupId} -DartifactId=${artifact}。確定制定修改的模塊為${groupId}:${artifact}。
如果不希望修改依賴mongodb的模塊也修改mongodb的版本號,可以使用參數-DprocessDependencies=false取消依賴其的修改,從而只修改xxx工程的版本號:
參數介紹
| allowSnapshots | false | 是否更新-snapshot快照版 |
| artifactId | ${project.artifactId} | 指定artifactId |
| generateBackupPoms | true | 是否備份pom文件 |
| 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 | 是否更新在子模塊中顯式指定的匹配版本(如/項目/版本)。 |
默認情況僅更新groupId,version匹配的,不匹配的不會改變。
更多參考:
http://www.mojohaus.org/versions-maven-plugin/index.html
版權聲明:本文為CSDN博主「GGBomb2」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ggbomb2/article/details/78316068
總結
以上是生活随笔為你收集整理的Versions maven plugin 修改版本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jenkins Pipeline 语法
- 下一篇: Sentinel 源码分析(一)