Gradle: переопределить транзитивную зависимость по классификатору версий
Одна из зависимостей, объявленных в моем проекте, имеет транзитивную зависимость от'com.google.guava:guava:15.0'
, Но мое приложение, развернутое на WAS / Weblogic, не работает из-за проблемы с CDI, которая была исправлена в'com.google.guava:guava:15.0:cdi1.0'
, (та же версия, но с классификатором) Мне нужно сказать Gradle, чтобы использовать эту банку во время сборки и упаковки. Я пытаюсь понять, как мы можем переопределить эту транзитивную зависимость с помощью специфического для jar классификатора версий.
Пробовал следующие подходы:
Добавлена зависимость явно:compile 'com.google.guava:guava:15.0:cdi1.0'
, Но обе банки были включены в получившуюся ВОЙНУ.Явно добавил зависимость и определил стратегию разрешения:
configurations.all {
resolutionStrategy {
force 'com.google.guava:guava:15.0:cdi1.0'
}
}
Даже это не сработало.
Определена стратегия разрешения для проверки и изменения версии.
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if (details.requested.group + ":" + details.requested.name == 'com.google.guava:guava') {
details.useVersion "15.0:cdi1.0"
//details.useTarget "com.google.guava:guava:15.0:cdi1.0"
}
}
}
Даже это не сработало.
Нужны ваши предложения о том, как можно решить эту проблему.