Maven:如果配置文件 B 未激活,则仅激活配置文件 A?
我有两个 Maven 配置文件 profile-A 和 profile-B。仅当“A”未激活时才应激活“B”。 因此,如果我调用
mvn install
配置文件 B,则执行该配置文件(但不执行配置文件 A)。 但如果我调用
mvn install -Pprofile-A
,则仅执行配置文件 A(但不执行配置文件 B)。
有什么提示我需要如何编写 pom.xml 来实现此目的吗?
我已经尝试过这个,但它不起作用:
<profiles>
<profile>
<id>profile-A</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
...
</profile>
<profile>
<id>profile-B</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>!profile-A</name>
</property>
...
</activation>
...
</profile>
</profiles>
I have two Maven profiles profile-A and profile-B. "B" should only be activated if "A" is not activated.
So if I would call
mvn install
profile-B is executed (but not profile-A).
But if I would call
mvn install -Pprofile-A
then only profile-A is executed (but not profile-B).
Any hints how I need to write my pom.xml to achieve this?
I already tried this, but it doesn't work:
<profiles>
<profile>
<id>profile-A</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
...
</profile>
<profile>
<id>profile-B</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>!profile-A</name>
</property>
...
</activation>
...
</profile>
</profiles>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为为了让您的示例命令行按预期工作,您所需要的只是配置文件 B 的true
。 org/guides/introduction/introduction-to-profiles.html" rel="noreferrer">http://maven.apache.org/guides/introduction/introduction-to-profiles.html 指出:
I think for your example command line to work as expected, all you need is the
<activeByDefault>true</activeByDefault>
for profile B.http://maven.apache.org/guides/introduction/introduction-to-profiles.html states: