无法激活多个配置文件

我在使用Maven配置项目时遇到一些困难,需要一些帮助:)

比方说,我有一个多模块项目,模块A和B(还有其他20个模块),但它们都是从一些“root”pom继承的。

我也有一个自定义的maven插件,只能为模块A启用。

插件应该以相同的方式运行所有的模块,所以我把配置放在根目录下。

现在,该插件在配置文件中定义,只有在明确要求时才会激活该插件:

mvn test -PrunMyPlugin

这应该工作,如果我从根目录运行此命令,如果我在模块A的目录中运行。在模块B插件不应运行,无论此配置文件。

另一方面

mvn test

不应该调用插件。

我试图在财产上使用激活,但它不适用于我。 我试图避免这种情况,因为我需要为每个具体模块配置插件并将所有配置保留在根目录中。

有人可以提供任何简单的例子,说明如何做到这一点? 任何帮助,高度赞赏。

提前致谢


在父级中定义配置文件,然后从子级或其他配置文件激活配置文件,目前不支持Maven 2或3。 有几个关于细节的stackoverflow问题和答案[1]。 Maven的问题跟踪器中有相关的功能请求:

  • https://issues.apache.org/jira/browse/MNG-3309
  • https://issues.apache.org/jira/browse/MNG-4565
  • https://issues.apache.org/jira/browse/MNG-5127
  • @ Raghuram建议使用<pluginManagement>是一种可以在不重复配置的情况下完成这项工作的方法。 另一个是显式复制每个需要它的子模块的配置。

    [1]:根据当前模块激活不同的Maven配置文件? ; 为什么我无法从另一个配置文件激活Maven2配置文件?


    处理此要求的方法之一是在多模块父pom的<pluginManagement>部分中定义插件。 在你需要使用这个插件的每个项目中,你都要声明它。

    这样,您就可以在中心位置定义所有插件的详细信息和配置,并且可以灵活地将其仅用于相关模块。 更多细节在这里。

    链接地址: http://www.djcxy.com/p/10645.html

    上一篇: can't activate profiles in multi

    下一篇: How to set Live Wallpaper automatically everyday in android