首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >覆盖配置文件中maven-jar- <excludes>的插件配置

覆盖配置文件中maven-jar- <excludes>的插件配置
EN

Stack Overflow用户
提问于 2018-06-04 11:20:30
回答 2查看 838关注 0票数 3

我有以下maven-jar-plugin的根配置:

代码语言:javascript
复制
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <configuration>
      <excludes>
           <exclude>com/company/project/staging/*</exclude>
      </excludes>
  </configuration>
</plugin>

我想用这个配置覆盖maven配置文件中的这个配置:

代码语言:javascript
复制
<profile>
  <id>staging</id>
  <build>
  <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <includes>
            <include>**/**</include>
          </includes>
        </configuration>
      </plugin>
    </plugins>
  </build>
</profile>

但是,配置文件配置不会覆盖根配置,因此包com/company/project/staging/仍然被排除在外。借助于

mvn帮助:所有配置文件

命令我可以清楚地看到我的配置文件处于活动状态。你知道为什么它不能像我期望的那样工作吗?任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2018-06-04 14:16:24

当您的配置文件处于活动状态时,在合并的配置中同时使用包含和排除元素。要解决这个问题,您可以在配置文件的配置定义中添加一个空的<excludes>元素,如果使用了combine.self="override"修饰符,它将覆盖主配置中定义的排除。

看起来您想要做的就是消除配置文件中的排除,所以您可能也可以省略<include>元素。

<profile> <id>staging</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <excludes combine.self="override" /> </configuration> </plugin> </plugins> </build> </profile>

票数 2
EN

Stack Overflow用户

发布于 2018-06-05 00:37:25

解决我的问题的方法是在里面使用一个列表,然后在我的配置文件中简单地展开它。例如根插件配置:

代码语言:javascript
复制
<includes>
  <include>com/org/project/**</include>
</includes>

配置文件插件配置:

代码语言:javascript
复制
<includes>
  <include>com/org/project/**</include>
  <include>com/org/staging/**</include>
</includes>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50673038

复制
相关文章

相似问题

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