如果我有多个Maven插件的执行并且他们共享至少一个相同的配置值,我是否有办法在插件的所有执行之间共享此配置。
考虑一个包含两个执行的构建插件的简单案例:
<plugin>
<!-- ID, version... -->
<executions>
<execution>
<id>ID1</id>
<configuration>
<myConfig>foo</myConfig>
...
</configuration>
</execution>
<execution>
<id>ID2</id>
<configuration>
<myConfig>foo</myConfig>
...
</configuration>
</execution>
</executions>
</plugin>
如何重写此内容,以便ID1
和ID2
执行对myConfig
配置使用相同的值?
答案 0 :(得分:5)
为什么不在具体执行之外移动常见配置?
<plugin>
<!-- ID, version... -->
<configuration>
<commonConfig>foo</commonConfig>
</configuration>
<executions>
<execution>
<id>ID1</id>
<configuration>
<specificConfig>bar</specificConfig>
</configuration>
</execution>
<execution>
<id>ID1</id>
<configuration>
<specificConfig>baz</specificConfig>
</configuration>
</execution>
</executions>
</plugin>
它适用于我使用的一些插件(例如gmaven-plugin)和Maven documentation我没有找到任何证据表明它不起作用。
答案 1 :(得分:1)
使用在使用之前在某处设置的属性:
<project>
...
<properties>
<myConfig>foo</myConfig>
</properties>
...
</project>
然后像这样使用它
<execution>
<id>ID1</id>
<configuration>
<myConfig>${myConfig}</myConfig>
...
</configuration>
</execution>
<execution>
<id>ID2</id>
<configuration>
<myConfig>${myConfig}</myConfig>
...
</configuration>
</execution>