java - Maven - 根据项目属性激活配置文件

标签 java maven pom.xml

您好,我正在努力实现这样的目标:

在父 pom 中,我有

<profile>
  <activation>
    <property>
      <name>Compile</name>
      <value>${project.artifactId}</value>
    ...

因此,如果我在父 pom 下运行 mvn -DCompile=mod1 install,它只会将配置文件设置应用到模块 1,而不是其他模块。

同样,如果我有

<profile>
  <activation>
    <property>
      <name>Compile</name>
      <value>${project.packaging}</value>
    ...

然后在父 pom 下运行 mvn -DCompile=war install,它只会将配置文件设置应用到那些要打包为 war 而不是 jar 或 pom 的配置文件设置。

我试过了,但没有按预期工作。我错过了什么吗?请帮忙。

附言无需建议解决方法,因为我只对这种方法感兴趣。如果是这样的话,简单地回答这是不可能的。谢谢

最佳答案

它不会工作,因为...

开始:

以及为什么从父级到子级都不起作用:

  • 甚至在您的子 POM 出现之前,父 POM 中的属性就已展开。

许多人在您之前来过这里但都失败了。

有人可能想知道您到底想做什么。您是从同一个源项目构建不同的 Artifact 吗?也许您需要更多的 Maven 模块来处理事情。

关于java - Maven - 根据项目属性激活配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18889554/

相关文章:

java - Nexus/Maven - 缺少...的 POM,没有可用的依赖信息

filter - 你如何让Intellij IDEA排除对maven pom中列出的大文件的过滤?

java - Buildnumber maven 插件返回 null

java - JDBC 与 MySQL 的持久连接

java - JAX-WS Maven 插件不适用于 JDK 8

java - 为什么 Maven 不显示 Lenskin 伪影?

java - Maven 项目中的 MapStruct 依赖范围

java - Gridworld-您可以添加声音吗?

java - 针对选定的一组 Http 错误状态代码重试对外部 API 的剩余调用

java - 阅读大型 xml 文档的最佳解决方案是什么?