我們有一個多模塊版本。我有一個父模塊構建了17個其他模塊,其中一個模塊本身是另一個多模塊構建,構建了另外三個模塊。maven模塊構建。不指定具有兒童模塊的版本
在我父模塊:
<groupId>com.veggicorp.foobar</groupId>
<artifactId>foobar-parent</artifactId>
<version>5.4.3</version>
<properties>
<!-- Definition of versions for third party jars -->
</properties>
<dependencyManagement>
<!-- Another way to specify dependencies throughout the project -->
</dependencyManagement>
<modules>
<!-- List o' Modules -->
</modules>
通過使用屬性來指定版本(使用dependencyManagement),我發現我可以在子模塊擺脫幾乎任何類型的版本編號的。這使得維護複雜項目變得非常簡單,因爲大部分更改都將在父項中進行。當我們做新版本時,我不必更新其他pom.xml
文件。
然而,有一個痛處:我必須指定父版本:
<parent>
<groupId>com.veggicorp.foobar</groupId>
<artifactId>foobar-parent</artifactId>
<version>5.4.3</version> <!-- Must Specify -->
</parent>
<artifactId>foo-server</artifactId>
<!-- No need for a version -->
<build>
....
請注意,我並不需要指定孩子的版本。它默認採用父母的版本。但是,儘管所有這些都位於單個Git存儲庫中,並且所有模塊對於此項目都是唯一的,並且不在其他任何地方使用,但我必須填寫父級的版本號。我們甚至不會將這些模塊的jar部署到我們的Maven倉庫。這是一個巨大的構建。
我知道我可以使用版本插件來更新所有這些模塊,但這意味着我們的開發人員必須記得在他們創建新版本的項目時使用該插件。 (我對開發人員沒有太大的信心,哎,我們的wiki上有方向how to tie your shoes。)
那麼,有沒有一種方法可以讓我們的子模塊 - 在父模塊中籤出大的Git回購 - 可以避免將父版本號嵌入其中?
我希望你使用SNAPSHOT的?你在做OSGi開發嗎? – khmarbaise