使用没有标记 "activeByDefault"的默认配置文件激活 Maven 配置文件

EasonJim 阅读:39 2025-06-02 22:19:02 评论:0

我正在寻找一种设置多个配置文件的方法,我想将其中一个设置为默认配置文件(仅运行 mvn clean install 应该选择该配置文件)。我对任何使用 activeByDefault 的解决方案都不感兴趣,因为它会阻止我在另一个模块中创建单独的配置文件并同时使用默认配置文件。

目前我正在使用看起来像这样的属性方法:

<profiles> 
    <profile> 
        <id>prof1</id> 
        <activation> 
            <property> 
                <name>!myprop</name> 
            </property> 
        </activation> 
    </profile> 
    <profile> 
        <id>prof2</id> 
        <activation> 
            <property> 
                <name>myprop</name> 
                <value>prof2</value> 
            </property> 
        </activation> 
    </profile> 
    <profile> 
        <id>prof3</id> 
            <activation> 
            <property> 
                <name>myprop</name> 
                <value>prof3</value> 
            </property> 
        </activation> 
        </profile> 
</profiles> 

这意味着我必须使用 mvn clean install -Dmyprop=prof3 编译我的项目如果我想选择 prof3 而不是 prof1(默认情况下不设置任何属性)。

但是我想达到同样的效果,但是用 -Pprofilename 编译我的项目而不是设置属性。我尝试在 <properties> 下的每个配置文件中添加属性标签,但似乎默认总是运行。我读到 pom 属性不可用于激活配置文件。

有什么解决办法吗?例如有一个设置或属性文件(不想每次编译时都更改它),我可以从中获取属性并实现我使用 -PprofileName 进行编译的目标。 ?

请您参考如下方法:

您可以使用 activeByDefault 作为配置文件,如果您不激活其他配置文件,该配置文件应该运行:

        <activation> 
            <activeByDefault>true</activeByDefault> 
        </activation> 

有关详细信息,请参阅 http://maven.apache.org/guides/introduction/introduction-to-profiles.html


标签:Maven
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号