【发布时间】:2025-12-16 15:00:02
【问题描述】:
我的 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。
【问题讨论】:
-
为什么要为默认配置文件设置激活属性?您说您希望它默认运行,但如果该属性没有“禁用”值。从第一个配置文件中删除整个属性部分。
-
我已经做到了,但没有帮助。现在的问题是运行“mvn install”时没有构建任何模块。
-
我在没有
property部分的情况下测试了相同的配置文件,它可以按照您的意愿工作。尝试使用以下命令:mvn help:active-profiles和mvn -Px help:active-profiles。