![](/img/trans.png)
[英]How to add DefaultImplementationEntries to MANIFEST when using maven-shade-plugin?
[英]Superfluous warnings when using 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:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<forceCreation>true</forceCreation>
</configuration>
</plugin>
這對我有用。 或者只是做一個干凈的安裝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.