如何忽略Gradle中所有依赖项的特定传递依赖项

时间:2013-11-14 23:41:05

标签: gradle dependency-management transitive-dependency

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

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

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

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

2 个答案:

答案 0 :(得分:20)

configurations {
    compile.exclude group: 'commons-logging'
}

答案 1 :(得分:16)

遇到同样的问题但最终使用以下内容进行实际更换。发布完整性'缘故。

configurations.all {
    resolutionStrategy.eachDependency {
        if(it.requested.name == 'commons-logging') {
            it.useTarget 'org.slf4j:jcl-over-slf4j:1.7.7'
        }
    }
}