gpt4 book ai didi

java - 使用 maven-shade-plugin 时的多余警告

转载 作者:搜寻专家 更新时间:2023-10-30 20:00:17 26 4
gpt4 key购买 nike

我正在为一个简单的 Maven 项目使用 maven-shade-plugin,该插件成功地将所有依赖项包含到最终的“阴影”jar 中。该过程每次都运行良好,并且产生的正是我需要的。

当“第一次”运行时(在 clean 之后),插件是安静的并且产生很少的输出。但是,当重新运行时(没有上次构建的 clean),会出现很多这样的警告消息;

[WARNING] We have a duplicate package/a/b/foo.class
[WARNING] We have a duplicate package/c/d/bar.class

这只是警告消息,最终的 Artifact 工作正常。

我的问题很简单:如何安全地解决或抑制这些警告消息,而不必先运行 clean


注意:一个可能的解决方案是移动到 maven-assembly-plugin,但我不想这样做,因为 maven-shade 的配置-plugin 非常好用而且简单。

最佳答案

这是因为它将文件着色到一个已经着色的 jar 中。

在清理后第一次运行 package 时,它​​将创建 jar。第二次运行它时,它不会打扰,因为 jar 已经存在。

从着色插件的角度来看,它不知道这已经被着色了,所以它只是尝试再次添加类。

我们可以通过配置 jar 插件强制 maven 每次都创建 jar:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<forceCreation>true</forceCreation>
</configuration>
</plugin>

这对我有用。或者只是做一个干净的安装

关于java - 使用 maven-shade-plugin 时的多余警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8880361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com