[英]`finalName` parameter not allowed in maven-jar-plugin configuration
[英]Override <excludes> configuration for maven-jar-plugin inside a profile
我对maven-jar-plugin具有以下根配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>com/company/project/staging/*</exclude>
</excludes>
</configuration>
</plugin>
我想用以下配置覆盖Maven配置文件中的此配置:
<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帮助:所有个人资料
命令,我可以清楚地看到我的个人资料处于活动状态。 知道为什么它不能按我预期的那样工作吗? 非常感谢您的帮助。
当您的配置文件处于活动状态时,合并配置中将同时使用包含和排除元素。 要解决此问题,您可以在配置文件的配置定义中添加一个空的<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>
解决我的问题的方法是在内部使用一个列表,然后在我的配置文件配置中简单地将其扩展。 例如,根插件配置:
<includes>
<include>com/org/project/**</include>
</includes>
配置文件插件配置:
<includes>
<include>com/org/project/**</include>
<include>com/org/staging/**</include>
</includes>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.