2010-12-15 4 views
10

Привет, у меня есть родительский pom.xml, как показано ниже .., скажем, у меня сейчас 4 модуля. Но в определенные моменты времени у меня могут не быть все 4 модуля все время .. Есть ли способ сделать эти модули (дочерние проекты) необязательными внутри root pom.xml. Это означает, что дочерний проект не будет присутствовать в одной ветке, но будет присутствовать в другой ветке. Я не хочу использовать несколько root pom.xml для разных ветвей. Возможно ли это?Модули Maven необязательны в pom.xml

<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

ответ

10

Вы можете использовать профили, как они это сделали, например, в Flex-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>