web-dev-qa-db-ja.com

Gradle、すべての推移的な依存関係を無効にする方法

私のjarファイルの多くは、推移的な依存関係が競合しています(複数のスプリングバージョン)。すべての依存関係を明示的に管理することで、継承されたバージョンの競合を回避したいのですが、Gradleですべての推移的な依存関係を無効にすることは可能ですか?

transitive = falseを各依存関係に追加できることは知っていますが、もっと簡単な方法があることを望んでいます。

compile(group: 'org.springframework', name: 'spring', version: '2.5.2') {
    transitive = false
}
41
Mike Rylander

私は最終的に使用しました:

configurations.all {
    transitive = false
}
49
Mike Rylander

すべての構成に対して1つの構成ブロックのみが必要な場合は、スプレッドドット演算子を使用してこれを表現できます。

configurations {
    // other configurations e.g. - compile.exclude module: 'commons-logging'
    all*.transitive = false
}
7
michal.kreuzman

私の場合、プロジェクト(gradleモジュール)の依存関係がありました。 Gradle 3で推移的な依存関係を除外するために、次を使用しました。

implementation(project(':<module_name>')) {
    transitive = false
}