如何在子模块中停用maven配置文件?

yeg*_*256 5 java maven-2 maven

我在父级中定义了一个配置文件pom.xml,并由属性激活.在子模块中,我需要取消激活它.如何做到这一点(它是Maven 3)?

PS.据我所知,它不能合法地完成(MNG-4565,MNG-5083),但有什么可行的解决方法?

Den*_*nov -3

这取决于。子 pom 不应该拒绝父 pom 行为(这就像构建过程的LSP )。在父 pom 中定义配置文件可能是一个好主意,但仅在您真正需要它的子 pom 中激活它。

如果你做不到,你可以通过具有确切值的属性来激活父 pom 中的配置文件:

<profiles>
  <profile> 
    <activation>
      <property>
        <name>environment</name>
        <value>test</value>
      </property>
    </activation>
  </profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)

然后在子pom中重新定义属性值。

  • 在子 pom.xml 中重新定义属性不会产生任何效果,因为 Maven 在读取其属性之前**构建有效的 pom。 (3认同)