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

wgxvkvu9  于 2023-01-13  发布在  其他
关注(0)|答案(4)|浏览(170)

我的许多jar具有冲突的传递依赖项(多个Spring版本)。我希望通过显式管理所有依赖项来避免继承的版本冲突,是否可以在Gradle中禁用所有传递依赖项?
我知道我可以将transitive = false添加到我的每个依赖项中,但我希望有一种更简单的方法。

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

ovfsdjhp1#

我最终使用:

configurations.all {
    transitive = false
}
yxyvkwin

yxyvkwin2#

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

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

4dbbbstv3#

在我的案例中,我有一个项目(Gradle模块)依赖关系。我使用以下内容来排除Gradle 3中的传递依赖关系:

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

或者在Kotlin脚本中:

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

ds97pgxw4#

在Gradle 7.5.1中,您可以在Groovy DSL中使用以下代码:

configurations.configureEach {
    transitive = false
}

相关问题