1

Maven shade plugin將項目的Java類及其依賴關係合併到一個單一的JAR文件中。如果有任何重疊(例如,兩個依賴包含具有相同限定名稱的類),它會發出警告,並且(如果我理解正確)使用它所遇到的那個類的最後一個版本。當有重複的類時,Maven樹蔭插件可以使構建失敗嗎?

對我來說這似乎有點過於寬鬆;這種重疊很容易在運行時造成連接或其他問題,例如,當重疊的類包含不同的字節碼時。

是否有可能配置陰影插件在重疊時出現構建失敗,而不是僅發出警告?這對於沒有人正在監視日誌文件以查看是否有任何警告的CI服務器尤其有用。

回答

2

插件中似乎沒有任何這樣的選項。我要求logged an issue(更新:也提交了一個補丁,任何人都可以根據需要自行申請)。