使用 Maven 是否可以 "add to" 属性 或 parent pom 中指定的插件值?
with maven is it possible to "add to" a property or plugin value specified in a parent pom?
如果,在我的 maven 项目的 parent pom.xml 中,它有一些 属性 像这样:
<properties>
<argLine>some args</argLine>
</properties>
是否有可能在 child 中以某种方式 "augment" 那样,例如
<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>
我基本上只是添加到 parent?
中指定的一些设置
这个问题的动机是我想知道如何使用 jacoco 插件,并且在根 pom 中指定一些常规设置“-Xmx1G”,而在 children 中他们可以添加其他 child 特定参数到那个通用参数,必要时。参考:
我想我可以重命名 jacoco 生成的参数( "propertyName" 设置,将其从 argLine
更改)然后我可以使用 parent' s ${argLine} 并将其添加到 jacococ 中,但我的问题仍然很有趣...
在您的父 pom 中使用 pluginMagement 并在其中指定配置。它们对于父级中的所有模块都是通用的。
在 Maven 3 中你可以使用 ${project.parent.propertyName} link
属性 应该在您的 child 的 pom 中直接可见:${argLine}
我能想到的唯一方法是 复制 parent.
中的参数
所以parent:
<properties>
<argLine>some args</argLine>
<parentArgLine>some args</parentArgLine>
</properties>
然后使用
<properties>
<argLine>${parentArgLine} some child args</argLine>
在 child.
在我的特殊情况下,问题是插件 "overrides" 一个 maven 变量。
如果,在我的 maven 项目的 parent pom.xml 中,它有一些 属性 像这样:
<properties>
<argLine>some args</argLine>
</properties>
是否有可能在 child 中以某种方式 "augment" 那样,例如
<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>
我基本上只是添加到 parent?
中指定的一些设置这个问题的动机是我想知道如何使用 jacoco 插件,并且在根 pom 中指定一些常规设置“-Xmx1G”,而在 children 中他们可以添加其他 child 特定参数到那个通用参数,必要时。参考:
我想我可以重命名 jacoco 生成的参数( "propertyName" 设置,将其从 argLine
更改)然后我可以使用 parent' s ${argLine} 并将其添加到 jacococ 中,但我的问题仍然很有趣...
在您的父 pom 中使用 pluginMagement 并在其中指定配置。它们对于父级中的所有模块都是通用的。
在 Maven 3 中你可以使用 ${project.parent.propertyName} link
属性 应该在您的 child 的 pom 中直接可见:${argLine}
我能想到的唯一方法是 复制 parent.
中的参数所以parent:
<properties>
<argLine>some args</argLine>
<parentArgLine>some args</parentArgLine>
</properties>
然后使用
<properties>
<argLine>${parentArgLine} some child args</argLine>
在 child.
在我的特殊情况下,问题是插件 "overrides" 一个 maven 变量。