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

Dependencies Gradle,如何禁用所有可传递依赖项,dependencies,gradle,transitive-dependency,Dependencies,Gradle,Transitive Dependency,我的许多JAR都有冲突的可传递依赖项(多个spring版本)。我想通过显式管理所有依赖项来避免继承的版本冲突,是否可以禁用Gradle中的所有可传递依赖项 我知道我可以向每个依赖项添加transitive=false,但我希望有一种更简单的方法 compile(group: 'org.springframework', name: 'spring', version: '2.5.2') { transitive = false } 我最终使用了: configurations.all

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

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

compile(group: 'org.springframework', name: 'spring', version: '2.5.2') {
    transitive = false
}
我最终使用了:

configurations.all {
    transitive = false
}

如果您希望所有配置只有一个配置块,可以使用扩展点运算符来表示

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

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

implementation(project(':<module_name>')) {
    transitive = false
}
实现(项目(':')){
传递的=假
}
或使用Kotlin脚本:

implementation(project(':<module_name>')) {
    isTransitive = false
}
实现(项目(':')){
isTransitive=false
}

另一种解决方案是告诉Gradle在版本冲突上失败,并显式解决这些冲突(而不是显式管理所有可传递的依赖项)。如果您对自己的答案感到满意,您应该接受它,以便将问题标记为已答。@PeterNiederwieser您必须等待48小时才能接受自己的答案。