使用maven是否可以“添加”父pom中指定的属性或插件值?

时间:2015-04-30 20:49:07

标签: java maven jacoco

如果在我的maven项目的父pom.xml中,它有一些这样的属性:

<properties>
   <argLine>some args</argLine>
</properties>

孩子有可能以某种方式“增强”那个,比如

<properties>
   <argLine>${parent.argLine} some more args</argLine>
</properties>

同样地说,插件设置,如

<build>
   <plugins>
    <plugin>
       <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
            <argLine>${parent.plugin.maven-surefire-plugin.argLine} -Xmx1G</argLine>
          </configuration> 

我基本上只是添加到父级中指定的某些设置?

这个问题的推动力是我想知道如何使用jacoco插件,例如,在根pom中指定“-Xmx1G”,而在子节点中他们可以添加其他参数。参考:https://stackoverflow.com/a/29975159/32453

我想我可以重命名参数jacoco generate(https://stackoverflow.com/a/25571295/32453“propertyName”)然后我可以使用父的$ {argLine}并将其添加到jacococ中,但我的问题仍然存在。

4 个答案:

答案 0 :(得分:1)

属性应直接显示在您孩子的pom:${argLine}

答案 1 :(得分:0)

在父pom中使用pluginMagement并指定configs。它们对于父母中的所有模块都是通用的。

答案 2 :(得分:0)

使用Maven 3,您可以使用$ {project.parent.propertyName} link

答案 3 :(得分:0)

我能想到的唯一方法就是从父级中复制参数。在这种情况下的问题是插件&#34;覆盖&#34;一个maven变量。那么你可以使用&#34;复制&#34;也许来自父母。