18

如何忽略 Gradle 中的特定传递依赖?

例如,许多库(例如 Spring 和 ...)依赖于commons-logging,我想替换commons-loggingSLF4J(及其 jcl-over-slf4j 桥)。

在我的 gradle 脚本中是否有任何方式提及它一次,而不是针对每个依赖于它的依赖项commons-logging

我正在考虑一个脚本,迭代所有依赖项并在所有依赖项上添加一些exclude,有没有更好的解决方案?那个剧本怎么样?

4

2 回答 2

20
configurations {
    compile.exclude group: 'commons-logging'
}
于 2013-11-15T00:39:04.927 回答
17

来到这里遇到同样的问题,但最终使用以下内容进行实际替换。为了完整起见,将其发布。

configurations.all {
    resolutionStrategy.eachDependency {
        if(it.requested.name == 'commons-logging') {
            it.useTarget 'org.slf4j:jcl-over-slf4j:1.7.7'
        }
    }
}
于 2014-08-04T16:25:30.600 回答