Ответ 1
configurations {
compile.exclude group: 'commons-logging'
}
Как я могу игнорировать определенную транзитивную зависимость в Gradle?
Например, многие библиотеки (такие как Spring и...) зависят от commons-logging
, я хочу заменить commons-logging
на SLF4J
(и его модем jcl-over-slf4j).
Как бы то ни было в моем gradle script упоминать его один раз, а не для каждой зависимости, которая зависит от commons-logging
?
Я думал о script, итерации по всем зависимостям и добавлении некоторых exclude
для всех из них, есть ли лучшее решение? И как это будет выглядеть script?
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'
}
}
}