日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Versions maven plugin 修改版本

發布時間:2024/4/13 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 -DskipTests

Maven開始編譯打包。
成功后,輸入:

mvn dependency:tree -Dverboss -Dincludes=${project.groupId}:${project.artifactId}

檢查工程的依賴樹是否全部依賴了1.0.1-SNAPSHOT的base模塊。
如果全部模塊版本號都改為了:1.0.1-SNAPSHAOT,即修改成功。
若修改失敗,可是使用命令回退版本號:

mvn versions:revert

若確認版本,可使用命令:

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工程的版本號:

mvn versions:set -DgroupId=${groupId} -DartifactId=xxx -DoldVersion=* -DnewVersion=1.0.2-SNAPSHOT -DallowSnapshots=true -DprocessDependencies=false

參數介紹

參數默認值說明
allowSnapshotsfalse是否更新-snapshot快照版
artifactId${project.artifactId}指定artifactId
generateBackupPomstrue是否備份pom文件
groupId${project.groupId}指定groupId
newVersion設置的新版本號
nextSnapshotfalse更新版本號為下一個快照版本號
oldVersion${project.version}指定需要更新的版本號可以使用缺省‘*’
processAllModulesfalse是否更新目錄下所有模塊無論是否聲明父子節點
processDependenciestrue是否更新依賴其的版本號
processParenttrue是否更新父節點的版本號
processPluginstrue是否更新插件中的版本號
processProjecttrue是否更新模塊自身的版本號
removeSnapshotfalse移除snapshot快照版本,使之為release穩定版
updateMatchingVersionstrue是否更新在子模塊中顯式指定的匹配版本(如/項目/版本)。

默認情況僅更新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 修改版本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。