xco*_*ist 13 java maven maven-shade-plugin
我正在使用maven-shade-plugin进行简单的maven项目,该插件成功地将所有依赖项包含在最终的"阴影"jar中.这个过程每次都很有效,可以完全满足我的需求.
当运行"第一"时间(在a之后clean)时,插件是安静的并且产生非常少的输出.但是,当重新运行时(没有clean来自上一次构建),有很多警告消息,例如;
[WARNING] We have a duplicate package/a/b/foo.class
[WARNING] We have a duplicate package/c/d/bar.class
Run Code Online (Sandbox Code Playgroud)
这只是警告消息,最终的工件工作正常.
我的问题很简单:如何安全地解决或抑制这些警告消息而不必先运行clean?
注意:一个可能的解决方案是转移到maven-assembly-plugin,但我不愿意,因为maven-shade-plugin的配置非常简单.
pla*_*147 12
这是因为它将文件着色为已着色的jar.
第一次在清理后运行包然后它将创建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>
Run Code Online (Sandbox Code Playgroud)
这对我有用.或者只是做一个干净的安装
| 归档时间: |
|
| 查看次数: |
4626 次 |
| 最近记录: |