2010-12-15 67 views
10

嗨我有像下面的父pom.xml ..說我目前有4個模塊.. 但在某些時候,我可能並不是所有的4個模塊.. 有沒有什麼辦法讓這些模塊(子項目)在根目錄pom.xml中是可選的。 這意味着子項目不會出現在一個分支中,但會出現在另一個分支中。我不想爲多個分支使用多個根pom.xml的 ..可能嗎?在pom.xml中可選的Maven模塊

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.xx.xx.correspondence</groupId> 
    <artifactId>xxHudsonTP</artifactId> 
    <version>1</version> 
    <packaging>pom</packaging> 

    <modules> 
    <module>xxCastor</module> 
    <module>cxxYYYCastor</module> 
    <module>xxCommon</module> 
    <module>xxxx</module>  
    </modules> 
</project> 
+0

我沒有得到它,項目的模塊是在不可避免的一部分,你好嗎使其成爲可選 – 2010-12-15 09:58:05

+0

Afaik當你在引用模塊中定義依賴時,你只能將依賴定義爲可選 – lisak 2010-12-15 10:03:52

+0

我有2個不同的開發分支。其中一個分支有新添加的模塊(Child項目)和另一個開發者。分支沒有該模塊(新的子項目不存在)。所以在一個分支中,我必須在根pom.xml中添加新添加的模塊,而在另一個分支中,我不必添加新添加的子模塊。我的問題是,如果子項目目錄不存在,那麼我是否可以將這些模塊作爲pom.xml中的一部分添加到任何可選的說明中,然後它將跳過並繼續爲下一個模塊應用目標。 – srinannapa 2010-12-15 10:04:48

回答

10

您可以使用情景,像他們這樣做是例如柔性mojos插件項目:

... 
<profiles> 

    <profile> 
     <id>minimal</id> 
     <modules> 
     <module>flexmojos-parent</module> 
     <module>flexmojos-sandbox</module> 
     <module>flexmojos-generator</module> 
     <module>flexmojos-maven-plugin</module> 
     <module>flexmojos-super-poms</module>   
     <module>flexmojos-testing</module>   
     </modules> 
    </profile> 

    <profile> 
     <id>release</id> 
     <modules> 
     <module>flexmojos-parent</module> 
     <module>flexmojos-sandbox</module> 
     <module>flexmojos-generator</module> 
     <module>flexmojos-maven-plugin</module> 
     <module>flexmojos-super-poms</module> 
     <module>flexmojos-archetypes</module> 
     <module>flexmojos-testing</module> 
     </modules> 
    </profile> 

<profiles> 
+3

maven.test.skip = true讓我傷心 – mhaller 2010-12-15 10:44:25

+0

@mhaller這不是主題 - 但我刪除它讓你開心;-) – Ralph 2010-12-15 10:47:47

+0

@mhaller:?你在說什麼 – srinannapa 2010-12-15 10:48:39