我的项目中声明的一个依赖项具有对'com.google.guava:guava:15.0'
的传递依赖。但由于CDI问题,我在WAS / Weblogic上部署的应用程序无法正常工作,这个问题已经在'com.google.guava:guava:15.0:cdi1.0'
中得到了解决。(相同版本,但带有分类器) 我需要告诉gradle在构建和打包过程中使用这个jar文件。我正在尝试弄清楚如何使用特定版本分类器覆盖这个传递依赖。
尝试了以下方法:
显式添加依赖项:
compile 'com.google.guava:guava:15.0:cdi1.0'
。但是,两个jar都被包含在生成的WAR中。显式添加依赖项并定义解析策略:
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"
}
}
}
甚至这个也没用。
需要你的建议,如何解决这个问题。