Gradle: переопределить транзитивную зависимость по классификатору версийJAVA

Программисты JAVA общаются здесь
Anonymous
Gradle: переопределить транзитивную зависимость по классификатору версий

Сообщение Anonymous »

Одна из зависимостей, объявленных в моем проекте, имеет транзитивную зависимость от com.google.guava: guava: 15.0 . Но мое приложение, развернутое, было/weblogic не работает из -за проблемы CDI, которая была исправлена ​​в com.google.guava: guava: 15.0: cdi1.0 (та же версия, но с классификатором). Мне нужно сказать Gradle, чтобы использовать эту банку во время сборки и упаковки. Я пытаюсь выяснить, как мы можем переопределить эту транзитивную зависимость с помощью классификатора версии, специфичной для JAR. > Явно добавлена ​​зависимость: compile 'com.google.guava: guava: 15.0: cdi1.0' . Но обе банки были включены в результирующую войну. < /P>
< /li>
Явно добавил зависимость и определила стратегию разрешения: < /p>
configurations.all {
resolutionStrategy {
force 'com.google.guava:guava:15.0:cdi1.0'
}
}
< /code>
Даже это не сработало. < /p>
< /li>
Определил стратегию разрешения для проверки и изменения версии . < /p>
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"
}
}
}
< /code>
Даже это не сработало. < /p>
< /li>
< /ol>
Нужны ваши предложения о том, как эта проблема может быть решена.

Подробнее здесь: https://stackoverflow.com/questions/307 ... classifier

Вернуться в «JAVA»