加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Maven – 无法在多模块项目中激活配置文件

发布时间:2020-12-15 03:03:11 所属栏目:Java 来源:网络整理
导读:我在使用Maven配置我们的项目时遇到了一些困难,需要一些帮助:) 比方说,我有一个多模块项目,模块A和B(还有大约20个其他模块),但它们都继承了一些“root”pom. 我还有一个自定义maven插件,只能为模块A启用. 插件应该以相同的方式运行所有模块,因此我将配置放在
我在使用Maven配置我们的项目时遇到了一些困难,需要一些帮助:)

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

我还有一个自定义maven插件,只能为模块A启用.

插件应该以相同的方式运行所有模块,因此我将配置放在根pom中.

现在,插件在配置文件中定义,以便仅在我明确要求时才会激活它:

mvn test -PrunMyPlugin

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

另一方面

mvn test

永远不应该调用插件.

我试图在属性上使用激活,但它对我不起作用.
当我需要为每个具体模块配置插件并将所有配置保留在根pom中时,我试图避免这种情况.

有人可以提供一些如何做到这一点的简单例子吗?任何帮助都非常感谢.

提前致谢

解决方法

目前,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]:Activate different Maven profiles depending on current module?; Why can’t I activate a Maven2 profile from another profile?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读