[英]Performing maven release in multimodule project failing
我有一個multimodule(module1,module2,module3)項目,該項目具有一個聚合器pom來構建所有模塊。
現在反應堆的建造順序是
module1
module2
module3
同樣,module2依賴於module1,而module3依賴於module2,現在要解決依賴關系,我在模塊3 pom中使用$ {project.version}來指定module1版本,類似地,我在模塊3中使用$ {project.version} pom指向module2。現在快照作業已成功執行,但是當我嘗試使用聚合器pom(這是所有模塊的父pom)釋放所有模塊時,構建失敗,因為未釋放,它無法釋放項目有沒有辦法解決這個問題?
我正在為該項目使用Maven 3.0.4 maven-release-plugin:2.0-beta-8。 同樣,模塊2必須使用模塊1的最新版本,模塊3和模塊2也是正確的。並且有必要一起釋放所有模塊,因為我希望僅當所有模塊都成功構建后才能釋放模塊。
parent pom
<project>
<groupid>com.mycompany</groupid>
<artifactid>parent</artifactid>
<version>1.0.0</version>
<modules>
<module>module1</module>
<module>module2</module>
<module>module3</module>
</modules>
..
</project>
module1 pom
<project>
<parent>
<groupid>com.mycompany</groupid>
<artifactid>parent</artifactid>
<version>1.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<groupid>com.mycompany</groupid>
<artifactid>module2</artifactid>
<dependencies>
..
..
</dependencies>
module2 pom
<project>
<parent>
<groupid>com.mycompany</groupid>
<artifactid>parent</artifactid>
<version>1.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<groupid>com.mycompany</groupid>
<artifactid>module2</artifactid>
<dependencies>
<dependency>
<groupid>com.mycompany</groupid>
<artifactid>module1</artifactid>
<version>${project.version}</version>
</dependency>
..
..
..
</dependencies>
..
</project>
檢查事項
1)確保使用$ {project.version}指定了同一父項下的任何依賴項
2)確保每個模塊未明確聲明其自己的版本,而僅指定一個父級,而后者將設置該版本。
3)確保每個項目均未明確聲明應來自父項的groupId。
4)確保沒有SNAPSHOT依賴項。 SNAPSHOT應該出現在所有模塊中的唯一位置是父pom。
5)確保您所有的pom都聲明了包裝,父母應為pom。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.