是否有可能不覆盖但合并或附加到Apache Maven中的默认插件配置,就像使用父POM配置元素一样?
Is it possible to not override but merge or append to default plugin configuration in Apache Maven just like it's possible with parent POM configuration elements?
最满意答案
我要注意我是否理解你的问题:
如果您想要更改已定义插件的配置,您应该知道需要使用正确的执行ID,可以在默认构建期间查看,该默认构建在日志输出中打印出来(如下所示):
[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ parent --- [INFO] [INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-maven) @ parent --- [INFO]大括号中的值给出了提示: default-clean现在可用于向配置添加信息或更改行为:
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <executions> <execution> <id>default-clean</id> <configuration> <.. combine.children="append"> </...> </configuration>请参阅以下更多解释。
如果需要,您可以这样做。 假设您已在父pom文件中定义了以下内容:
<plugin> <groupId>..</groupId> <artifactId>..</artifactId> <configuration> <values> <value>First</value> </values> </configuration> </plugin>在继承的pom文件中,您现在可以编写以下内容:
<plugin> <groupId>..</groupId> <artifactId>..</artifactId> <configuration> <values combine.children="append"> <value>Second</value> </values> </configuration> </plugin>或者,如果你做了不同的事情:
<plugin> <groupId>..</groupId> <artifactId>..</artifactId> <configuration> <values combine.children="override"> <value>Second</value> </values> </configuration> </plugin>或者你可以明确地给出默认值:
<plugin> <groupId>..</groupId> <artifactId>..</artifactId> <configuration> <values combine.children="merge"> <value>Second</value> </values> </configuration> </plugin>这在pom参考中有记录 。
I'm note sure if i understand your questions correctly:
If you like for example to change the configuration of an already defined plugin you should be aware that you need to use the correct execution id which can be looked at during a default build which is printed out in the log output (something like this):
[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ parent --- [INFO] [INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-maven) @ parent --- [INFO]The value in braces gives the hint: default-clean can now be used to add information to the configuration or also to change behaviour:
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <executions> <execution> <id>default-clean</id> <configuration> <.. combine.children="append"> </...> </configuration>See more explanations following.
You can do this if you need. Lets say you have defined the following in a parent pom file:
<plugin> <groupId>..</groupId> <artifactId>..</artifactId> <configuration> <values> <value>First</value> </values> </configuration> </plugin>In an inheriting pom file you can now write the following:
<plugin> <groupId>..</groupId> <artifactId>..</artifactId> <configuration> <values combine.children="append"> <value>Second</value> </values> </configuration> </plugin>Or if you do something different:
<plugin> <groupId>..</groupId> <artifactId>..</artifactId> <configuration> <values combine.children="override"> <value>Second</value> </values> </configuration> </plugin>or you can give explicitly what is already the default:
<plugin> <groupId>..</groupId> <artifactId>..</artifactId> <configuration> <values combine.children="merge"> <value>Second</value> </values> </configuration> </plugin>This is documented in the pom reference.
更多推荐
发布评论