Gradleを使用するときに、推移的な依存関係のすべてのインスタンスを除外するにはどうすればよいですか?
私のgradleプロジェクトはapplicationプラグインを使用してjarファイルを作成しています。実行時の推移的な依存関係の一部として、結局はを取得しorg.slf4j:slf4j-log4j12ます。(それは少なくとも5または6の他の推移的な依存関係のサブ推移的な依存関係として参照されます-このプロジェクトは春とhadoopを使用しているので、キッチンシンク以外のすべてが引き込まれています...待つ必要はありません... )。 作成したslf4j-log4j12jarからjar をグローバルに除外したい。だから私はこれを試しました: configurations { runtime.exclude group: "org.slf4j", name: "slf4j-log4j12" } ただし、これにはを含むすべての org.slf4jアーティファクトが除外されているようslf4j-apiです。デバッグモードで実行すると、次のような行が表示されます。 org.slf4j#slf4j-api is excluded from com.pivotal.gfxd:gfxd-demo-mapreduce:1.0(runtime). org.slf4j#slf4j-simple is excluded from com.pivotal.gfxd:gfxd-demo-mapreduce:1.0(runtime). org.slf4j#slf4j-log4j12 is excluded from org.apache.hadoop:hadoop-common:2.2.0(runtime). 各slf4j-log4j12推移的な依存関係のソースを調べてからcompile foo { exclude slf4j... }、dependenciesブロックに個々のステートメントを含める必要はありません。 更新: 私もこれを試しました: configurations { runtime.exclude name: "slf4j-log4j12" } ビルドからすべてを除外することになります!私が指定しgroup: "*"たかのように。 アップデート2: これにはGradleバージョン1.10を使用しています。