2012-01-11 55 views
0

我一直在尋找一些開源項目,發現他們有一個像設置:建議在設置行家多個項目

/app1/pom.xml 
/app1/app1-mod1/pom.xml 
/app1/app1-mod2/pom.xml 
/app1/app1-mod3/pom.xml 

因此,有一個主POM,然後將所有模塊都具有的pom.xml也。

所以在我的情況我有以下幾點:

1. spring mvc application 
2. spring mvc application 
3. shared model/db layer 

所以我想我應該是以下多個pom.xml的設置?

如果是,我將如何在#2和#1之前構建#3。

我應該下降到螞蟻執行實際構建?

任何教程,你們知道走過我的這個過程?

我在IntelliJ中編碼。

回答

2

Maven將自己計算dependencies它你自己設置你的POM,以便 模塊#1和#2都依賴於#3 maven會先構建#3,而不需要任何額外的配置。

發佈插件也需要您使用的佈局(多模塊)。

又見A Multi-module Project

+0

偉大的鏈接,多個項目的例子是完美的。 – codecompleting 2012-01-11 20:25:05

3

Maven reactor將按照適當的順序構建模塊,您可以通過按照自己的想法對它們進行排序來告訴它你認爲最好的方法。

我有一個類似的項目設置是這樣的:

<artifactId>root</artifactId> 
<packaging>pom</packaging> 
<name>Root</name> 

<modules> 
    <module>event</module> 
    <module>admin</module> 
    <module>public</module> 
</modules> 

這,然後使用由其他模塊父母。事件庫用於管理和公共Web應用程序模塊。在Web應用程序模塊定義是這樣的:

<dependencies> 
    <!-- Events --> 
    <dependency> 
     <groupId>${project.groupId}</groupId> 
     <artifactId>event</artifactId> 
     <version>${project.version}</version> 
    </dependency> 
</dependencies> 

一個MVN安裝從根精美的作品。

+1

注意,在這個例子中,家長和孩子的項目以兩種不同的方式聯繫在一起:通過繼承和組成。你可以非常好地從父POM中繼承而不是它的子項目,或者反過來,成爲另一個項目的子項目,而不從它的POM繼承。 – 2012-01-11 15:36:27