簡體   English   中英

Maven Release建立在項目上-工件版本號

[英]Maven Release build on a project - artifact version number

我有一個具有以下結構的Maven項目

Project
- pom.xml
--- Module1
--- pom.xml for Module1
--- Module2
--- pom.xml for Module2
--- Module3
--- pom.xml for Module3
------- Module31
------- pom.xml for Module31
------- Module32
------- pom.xml for Module32

即Project具有pom.xml(打包為pom)並具有模塊。 每個模塊在單獨的ModuleX pom.xml文件中都有一個<parent> .. </parent>部分,可以在其中將其設置為“ Project”(在根pom.xml中定義)的工件。可以設置為任何其他project2 / project3 / projectN工件。

現在,由於這個原因,我看到是否將Project1根pom.xml設置為0.0.1-SNAPSHOT,並且如果我要創建發行候選版本(非快照)版本“ 0.0.1”,那么我希望所有模塊都應該生成與Project的根pom.xml中設置的版本相同的工件。

我注意到,Module2 pom.xml具有一個父項,該父項是其他一些項目(例如:Project2),並且該父項的版本ID設置為“ 0.0.7-SNAPSHOT”,而Module2 pom.xml(在Project下)也具有一些父項。使用Project2的工件的依賴關系。

對於Module3和Module32,存在相同的情況,其中<parent>節具有不同的父項(設置為ProjectN,其中N可以是任何數字),並且依賴於那些或任何ProjectN項目的工件。

我的問題

1.如果我創建Project的0.0.1(非快照)版本,那么Maven將為模塊1,模塊2,模塊3和模塊31/32的根pom生成哪些版本ID構件?

2.我如何確定0.0.1版本的Project -為其所有模塊生成相同的版本號0.0.1(即使這些模塊的<parent>部分使用不同的項目** N **並具有<parent>部分中設置的其他/較新的<version>..</version>值)。

謝謝。

看一下maven-release-plugin ,它確實是您想要的。 release:prepare關於驗證和更新pom,標記項目並為下一個開發周期做好准備。 release:perform是基於標簽構建項目並將工件推送到遠程存儲庫的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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