使用默认配置文件激活maven配置文件而不使用标记"activeByDefault"

D.R*_*van 3 pom.xml maven maven-profiles

我正在寻找一种方法来设置多个配置文件,其中一个我想设置为默认值(运行时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>
Run Code Online (Sandbox Code Playgroud)

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

但是我希望实现相同的效果但是编译我的项目-Pprofilename而不是设置属性.我已经尝试在<properties>标记下的每个配置文件中添加属性,但似乎默认始终运行.我读到pom属性不能用于激活配置文件.

这有什么解决方法吗?比如有一个设置或属性文件(我不想在每次编译时都改变它)从中我可以获得属性并实现我的编译目标-PprofileName

Jen*_*ens 5

activeByDefault如果您没有激活其他配置文件,则可以使用应运行的配置文件:

        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
Run Code Online (Sandbox Code Playgroud)

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