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

标签 java maven

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

比如说,我有一个多模块项目,包含模块 A 和 B(还有大约 20 个其他模块),但它们都继承自某些“根”pom。

我还有一个自定义的 Maven 插件,应该只为模块 A 启用。

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

现在,插件已在配置文件中定义,因此只有在我明确需要时才会激活它:

mvn test -PrunMyPlugin

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

另一方面

mvn test

不应该调用插件。

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

有人可以提供任何简单的例子来说明如何做到这一点吗?非常感谢任何帮助。

提前致谢

最佳答案

Maven 2 或 3 目前不支持在父项中定义一个配置文件,然后从子项或另一个配置文件中激活它。有几个 stackoverflow 问题和答案 [1] 涵盖了详细信息。 Maven 的问题跟踪器中有相关的功能请求:

@Raghuram 关于使用 <pluginManagement> 的建议是一种无需重复配置即可完成这项工作的方法。另一种是在需要它的每个子模块中显式复制配置。

[1]: Activate different Maven profiles depending on current module? ; Why can't I activate a Maven2 profile from another profile?

关于java - Maven - 无法在多模块项目中激活配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9989183/

相关文章:

java - Vaadin 8 中有什么东西取代了 BeanItemContainer 吗?

maven - Maven连结v = LATEST无法运作

java - 创建对象时处理二维条件的方法?

java - 如何使用 Java 和 EPSON TM-T88III 打印凭证

maven - 在 SBT 中添加 HornetQ 依赖会导致 hornetq-native.${native-package-type} 解析失败

java - 使用 Maven 管理一个项目对 Tomcat 的多个版本依赖

android - 位置 gradle dependencies/android studio 插件,Android Studio 1.3

java - 从 Glassfish 迁移到 Wildfly/JBoss

java - 一行上的多个输入,具有多个变量和两位数(导数计算器)

java - 如何在neo4j 2.0中使用索引进行同类搜索?