Gradle,如何禁用所有传递依赖项

时间:2013-07-23 16:30:16

标签: dependencies gradle transitive-dependency

我的许多罐子都存在冲突的传递依赖(多个弹簧版本)。我想通过显式管理所有依赖项来避免继承的版本冲突,是否可以禁用Gradle中的所有传递依赖项?

我知道我可以为每个依赖项添加transitive = false,但我希望有一种更简单的方法。

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

3 个答案:

答案 0 :(得分:49)

我最终使用了:

configurations.all {
    transitive = false
}

答案 1 :(得分:7)

如果您只想为所有配置配置一个配置块,可以使用spread-dot运算符来表达这一点。

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

答案 2 :(得分:1)

就我而言,我有一个项目(gradle模块)依赖。我使用以下内容来排除Gradle 3中的传递依赖项:

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