我和家长有一个项目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
...就像孩子们的 pom.xml 重新定义了我的debug
轮廓 ...
你知道我该如何添加吗jboss-seam-debug
依赖于我的子模块时property 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
on the 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
因为我没有通过system财产-Ddebug=true
,这是maven由我的父母激活的财产pom.xml
,而我的孩子们没有“看到”......