sev*_*evo 4 default maven-plugin maven-3
是否可以像使用父POM配置元素一样在Apache Maven中不覆盖而是合并或附加到默认插件配置?
请注意,如果我能正确理解您的问题,请注意:
例如,如果您想更改已经定义的插件的配置,则应注意,您需要使用正确的执行ID,可以在日志输出中打印出的默认构建中查看该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]
Run Code Online (Sandbox Code Playgroud)
大括号中的值给出了提示:default-clean现在可以用于向配置中添加信息或更改行为:
[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ parent ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-maven) @ parent ---
[INFO]
Run Code Online (Sandbox Code Playgroud)
请参阅以下更多说明。
您可以根据需要执行此操作。可以说您在父pom文件中定义了以下内容:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<executions>
<execution>
<id>default-clean</id>
<configuration>
<.. combine.children="append">
</...>
</configuration>
Run Code Online (Sandbox Code Playgroud)
现在,在继承的pom文件中,您可以编写以下内容:
<plugin>
<groupId>..</groupId>
<artifactId>..</artifactId>
<configuration>
<values>
<value>First</value>
</values>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
或者,如果您执行其他操作:
<plugin>
<groupId>..</groupId>
<artifactId>..</artifactId>
<configuration>
<values combine.children="append">
<value>Second</value>
</values>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
或者您可以明确给出已经是默认值的内容:
<plugin>
<groupId>..</groupId>
<artifactId>..</artifactId>
<configuration>
<values combine.children="override">
<value>Second</value>
</values>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)