[英]Setting version for all Maven sub-modules in single entry in Maven Bill Of Materials(BOM)
[英]Remove SNAPSHOT from all Maven sub-modules, but honor version
用例
我正在處理一個多模塊項目,我正在嘗試為所有具有不同版本的子模塊刪除-SNAPSHOT
。
例子
出於本練習的目的,我們可以假設有兩個子模塊。 可以參考文章Maven Simple Project Archetype和Create an archetype from a multi-module project 。
Parent - 1.0.0-SNAPSHOT
ChildA - 1.2.3-SNAPSHOT
ChildB - 1.0.0-SNAPSHOT
結果
當我運行mvn versions:set -D removeSnapshot -D processAllModules
我希望版本會如下所示更改。
Parent - 1.0.0
ChildA - 1.2.3
ChildB - 1.0.0
但是,似乎 -SNAPSHOT 從所有版本中刪除,除了與父版本不同的子版本。
Parent - 1.0.0
ChildA - 1.2.3-SNAPSHOT
ChildB - 1.0.0
有什么方法可以運行mvn versions:set
命令來遵守版本號,同時去除-SNAPSHOT
后綴?
更新 #1
運行mvn versions:set -D removeSnapshot=true
產生與運行mvn versions:set -D removeSnapshot -D processAllModules
相同的結果。
Parent - 1.0.0
ChildA - 1.2.3-SNAPSHOT
ChildB - 1.0.0
根據多模塊項目的 Maven Enforcer 文檔......
Maven 中的最佳實踐是所有子項都從其父項繼承版本並且不定義如下所示的新版本:
<parent>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>module1</artifactId>
(..)
可以在上面的鏈接文章中找到其他用例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.