首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Combine.self=“覆盖”似乎不起作用

Combine.self=“覆盖”似乎不起作用
EN

Stack Overflow用户
提问于 2015-12-10 12:33:39
回答 1查看 5.6K关注 0票数 3

我在我的项目中使用父母和孩子POMs:

家长POM:

代码语言:javascript
复制
<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"属性尝试这样做:

代码语言:javascript
复制
<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>

但这不管用。有效的配置仍然是:

代码语言:javascript
复制
  <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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-10 13:57:06

在父POM中,在插件的特定执行中(在<extensionArg>-XNullable</extensionArg>标记元素中)将<execution>添加到配置中。但是,在您的子POM中,您正在重写一般配置(即不特定于任何执行的配置)。

因此,该特定执行的配置不会被覆盖。您需要在特定的执行中移动子POM中插件的配置。另一种可能是将父POM的配置移动到一般配置,而不是特定于执行的配置。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34202007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档