У меня есть проект с родительским pom.xml
, который определяет профили, и debug
профиль:
<profile>
<id>debug-true</id>
<activation>
<property>
<name>debug</name>
<value>true</value>
</property>
</activation>
</profile>
Я хочу, чтобы один из моих подмодулей добавил зависимость jboss-seam-debug
, когдапрофиль debug
активирован.
Я написал это для детей pom.xml:
<profiles>
<profile>
<id>debug-true</id>
<dependencies>
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam-debug</artifactId>
</dependency>
</dependencies>
</profile>
</profiles>
Но это не работает, эта зависимость не является частью дерева зависимостей, когда я задаю -Ddebug=true
... это как children pom.xml переопределяет мой профиль debug
...
Знаете ли вы, как я могу добавить зависимость jboss-seam-debug
к моему подмодулю, когда свойство debug
имеет значение true
?
Собственно, вот моя полная потребность, которая немного сложнее.
Вот мой родитель pom.xml
:
<profiles>
<profile>
<id>env-dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>env</name>
<value>dev</value>
</property>
</activation>
<properties>
<debug>true</debug>
... other properties ...
</properties>
</profile>
...
Обычно я просто передаю -Denv=dev
в командной строке mvn
и хочу, чтобы мой субмодуль активировал jboss-seam-debug
только тогда, когда свойство debug
определено для true
, поэтому япишет, что в подмодуле pom.xml
:
<profiles>
<profile>
<id>debug-true</id>
<activation>
<property>
<name>debug</name>
<value>true</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam-debug</artifactId>
</dependency>
</dependencies>
</profile>
...
, которая не работала только при передаче -Denv=dev
, потому что я не передаю систему property -Ddebug=true
, это свойство maven , которое активируется моим родителем pom.xml
, и что мои дети не "видят" ...