如何忽略 Gradle 中的特定传递依赖?
例如,许多库(例如 Spring 和 ...)依赖于commons-logging
,我想替换commons-logging
为SLF4J
(及其 jcl-over-slf4j 桥)。
在我的 gradle 脚本中是否有任何方式提及它一次,而不是针对每个依赖于它的依赖项commons-logging
?
我正在考虑一个脚本,迭代所有依赖项并在所有依赖项上添加一些exclude
,有没有更好的解决方案?那个剧本怎么样?
如何忽略 Gradle 中的特定传递依赖?
例如,许多库(例如 Spring 和 ...)依赖于commons-logging
,我想替换commons-logging
为SLF4J
(及其 jcl-over-slf4j 桥)。
在我的 gradle 脚本中是否有任何方式提及它一次,而不是针对每个依赖于它的依赖项commons-logging
?
我正在考虑一个脚本,迭代所有依赖项并在所有依赖项上添加一些exclude
,有没有更好的解决方案?那个剧本怎么样?
configurations {
compile.exclude group: 'commons-logging'
}
来到这里遇到同样的问题,但最终使用以下内容进行实际替换。为了完整起见,将其发布。
configurations.all {
resolutionStrategy.eachDependency {
if(it.requested.name == 'commons-logging') {
it.useTarget 'org.slf4j:jcl-over-slf4j:1.7.7'
}
}
}