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

我正在使用maven-shade-plugin进行简单的maven项目,该插件成功地将所有依赖项包含在最终的“阴影”jar中。 这个过程每次都很有效,并且完全符合我的需要。

当运行“第一”时间( clean )时,插件很安静并且产生很少的输出。 但是,当重新运行时(没有从上一次构建中clean ),有很多警告消息,例如;

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

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

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


注意:一个可能的解决方案是转移到maven-assembly-plugin ,但我不愿意,因为maven-shade-plugin的配置非常简单。

这是因为它将文件着色为已着色的jar。

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

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

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

  org.apache.maven.plugins maven-jar-plugin 2.4  true   

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