私のjarファイルの多くは、推移的な依存関係が競合しています(複数のスプリングバージョン)。すべての依存関係を明示的に管理することで、継承されたバージョンの競合を回避したいのですが、Gradleですべての推移的な依存関係を無効にすることは可能ですか?
transitive = false
を各依存関係に追加できることは知っていますが、もっと簡単な方法があることを望んでいます。
compile(group: 'org.springframework', name: 'spring', version: '2.5.2') {
transitive = false
}
私は最終的に使用しました:
configurations.all {
transitive = false
}
すべての構成に対して1つの構成ブロックのみが必要な場合は、スプレッドドット演算子を使用してこれを表現できます。
configurations {
// other configurations e.g. - compile.exclude module: 'commons-logging'
all*.transitive = false
}
私の場合、プロジェクト(gradleモジュール)の依存関係がありました。 Gradle 3で推移的な依存関係を除外するために、次を使用しました。
implementation(project(':<module_name>')) {
transitive = false
}