4

Maven シェード プラグインは、プロジェクトの Java クラスとその依存関係を単一の uber JAR ファイルに結合します。重複がある場合 (たとえば、2 つの依存関係に同じ修飾名のクラスが含まれている場合)、警告が発行され、(正しく理解できれば) 検出されたそのクラスの最後のバージョンが使用されます。

私には、これは少し緩すぎるように思えます。このようなオーバーラップは、実行時にリンクやその他の問題を簡単に引き起こす可能性があります。たとえば、オーバーラップするクラスに異なるバイトコードが含まれている場合などです。

警告を発行するだけでなく、オーバーラップがある場合にビルドに失敗するようにシェード プラグインを構成することは可能ですか? これは、警告があるかどうかを確認するために誰もログ ファイルを監視していない CI サーバーで特に役立ちます。

4

1 に答える 1

3

プラグインにはそのようなオプションはないようです。これを要求する問題をログに記録しました(更新:パッチも送信しました。必要に応じて誰でも適用できます)。

于 2010-12-14T22:29:28.937 に答える