基于maven配置文件和基于非配置文件的插件执行

时间:2017-03-21 10:22:48

标签: maven maven-3

我的pom.xml包含以下内容。

{{1}}

只能从命令行激活配置文件P1或P2中的一个。但无论选择的配置文件如何,预计公共部分中的插件(即配置文件外部的构建部分)也应该执行。还期望配置文件和公共部分中的插件按配置阶段的顺序执行。

现在构建与maven2一起使用但是使用maven3失败了。我没有能够完全调试这个。

使用Maven3,这会按预期工作吗? 插件的执行顺序是什么? 或者只是单独构建的选定配置文件?

更新:公共版本会被执行。共同存在冲突的执行ID和其中一个配置文件。所以它失败了。

1 个答案:

答案 0 :(得分:1)

你需要这样的东西:

<profiles>
    <profile>
        <id>P1</id>
        <build>
          .. executed for with -PP1
        </build>
    </profile>
    <profile>
        <id>P2</id>
        <build>
          .. executed for with -PP2
        </build>
    </profile>
    <profile>
        <id>default</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <build>
          .. executed with no profile
        </build>
    </profile>
</profiles>

<build>
  .. executed for in all cases.
</build>