一个Maven配置文件是否可以在其定义中启用/禁用另一个配置文件?

11

给定两个配置文件AB,是否可能在配置文件A的定义中指定某些内容以启用或禁用配置文件B

1个回答

13

无法从另一个配置文件激活/停用配置文件。在构建模型之前,Maven需要知道活动配置文件的列表。

根据您的使用情况,有几种解决方法:

  • 将一个配置文件设置为 activeByDefault:当激活另一个配置文件时,它将自动停用。
  • 使用自定义属性,使一个配置文件通过属性的存在而被激活,而另一个配置文件则通过属性的存在而被停用。示例配置如下:

    <profile>
        <id>profileA</id>
        <activation>
            <property>
                <name>somename</name>
            </property>
        </activation>
    </profile>
    <profile>
        <id>profileB</id>
        <activation>
            <property>
                <name>!somename</name>
            </property>
        </activation>
    </profile> 
    

    因此,如果您使用-Dsomename调用Maven,则将激活profileA;否则将激活profileB


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接