我在maven POM.xml中有以下XML:
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>default</name>
<value>!disabled</value>
</property>
</activation>
<modules>
<module>m1</module>
<module>m2</module>
<module>m3</module>
</modules>
</profile>
<profile>
<id>x</id>
<modules>
<module>m1</module>
</modules>
</profile>
</profiles>
我想要实现的目标是:
当我运行mvn install
时,我希望它能够构建m1,m2和m3项目。
当我运行mvn install -Px
时,我希望仅构建m1。
我目前的问题是,使用上面的代码,选项2构建所有m1,m2和m3。
答案 0 :(得分:43)
找到解决方案的人,首先定义'x'配置文件和'默认',它工作正常(疯狂的Maven !!)。这是最终结果:
<profiles>
<!-- DO NOT CHANGE THE *ORDER* IN WHICH THESE PROFILES ARE DEFINED! -->
<profile>
<id>x</id>
<modules>
<module>m1</module>
</modules>
</profile>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>m1</module>
<module>m2</module>
<module>m3</module>
</modules>
</profile>
</profiles>
答案 1 :(得分:5)
您可以从命令行禁用将runByDefault
设置为true的maven配置文件,如下所示:
mvn install -P !default
注意,这需要Maven版本2.0.10。
答案 2 :(得分:-8)