我在我的项目中使用父母和孩子POMs:
家长POM:
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<executions>
<execution>
...
<configuration>
...
<xsdOptions>
<xsdOption>
<extensionArgs>
<extensionArg>-XNullable</extensionArg>
<arg>-encoding</arg>
<arg>UTF-8</arg>
</extensionArgs>
</xsdOption>
</xsdOptions>
</configuration>
</execution>
</executions>
</plugin>
</pluginManagement>我在子POM中的目标是删除<extensionArg>-XNullable</extensionArg>参数。
我通过使用combine.self="override"属性尝试这样做:
<build>
<plugins>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<configuration>
<xsdOptions>
<xsdOption>
<extensionArgs combine.self="override">
<arg>-encoding</arg>
<arg>UTF-8</arg>
</extensionArgs>
</xsdOption>
</xsdOptions>
</configuration>
</plugin>
</plugins>
</build>但这不管用。有效的配置仍然是:
<xsdOptions>
<xsdOption>
<extensionArgs combine.self="override">
<extensionArg>-XNullable</extensionArg>
<arg>-encoding</arg>
<arg>UTF-8</arg>
</extensionArgs>
</xsdOption>
</xsdOptions>有什么想法吗?在Maven合并过程中,如何从配置中删除<extensionArg>-XNullable</extensionArg>?
Maven: 3.3.3
发布于 2015-12-10 13:57:06
在父POM中,在插件的特定执行中(在<extensionArg>-XNullable</extensionArg>标记元素中)将<execution>添加到配置中。但是,在您的子POM中,您正在重写一般配置(即不特定于任何执行的配置)。
因此,该特定执行的配置不会被覆盖。您需要在特定的执行中移动子POM中插件的配置。另一种可能是将父POM的配置移动到一般配置,而不是特定于执行的配置。
https://stackoverflow.com/questions/34202007
复制相似问题