簡體   English   中英

從所有 Maven 子模塊中刪除快照,但榮譽版本

[英]Remove SNAPSHOT from all Maven sub-modules, but honor version

用例

我正在處理一個多模塊項目,我正在嘗試為所有具有不同版本的子模塊刪除-SNAPSHOT

例子

出於本練習的目的,我們可以假設有兩個子模塊。 可以參考文章Maven Simple Project ArchetypeCreate 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM