2013-11-14 20 views
14

Gradleの特定の推移依存を無視するにはどうすればよいですか?例えばGradleのすべての依存関係から特定の推移依存を無視する方法

、(例えば春や...など)多くのライブラリがcommons-loggingに依存して、私はSLF4J(およびそのJCLオーバーSLF4Jブリッジ)とcommons-loggingを交換したいです。

私のグラデーションスクリプトでは一度言及するのはどんな方法ですか、commons-loggingに依存する各依存関係ではありませんか?

私はスクリプトを考えていましたが、すべての依存関係を繰り返して、すべてにexcludeを追加しました。これ以上の解決策はありますか?そのスクリプトはどのようになっていますか?

+0

解決戦略を試してください: http://stackoverflow.com/questions/23124509/how-to-exclude-specific-jars-from-web-inf-lib/30393301#30393301 – smilyface

答えて

18
configurations { 
    compile.exclude group: 'commons-logging' 
} 
+8

または: '設定.all {除外するグループ: 'commons-logging'} '。 –

+1

特定のバージョンのグループを除外する方法はありますか? – JayKay

13

ここで同じ問題が発生しましたが、実際の交換には次のようになりました。完全性のために投稿してください。

configurations.all { 
    resolutionStrategy.eachDependency { 
     if(it.requested.name == 'commons-logging') { 
      it.useTarget 'org.slf4j:jcl-over-slf4j:1.7.7' 
     } 
    } 
} 
+1

あなたの答えとそのような作業に対処するときのGradleの優雅さについての誇り。 –

+1

新しいGradleバージョンがリリースされている間に、モジュールの置き換えが行われていることを追加したいと思います。まだ試していないが、同じことをしているかのように見える。 – user2543253

関連する問題