我们有一个 java 项目,其依赖项看起来像这样。
A -> B -> httpcore-4.0.1
\
C -> httpcore-4.1.3
所以在A中存在传递依赖冲突。gradle docs说解决策略是选择最新的(http://gradle.org/docs/current/userguide/dependency_management.html)。但是,由于函数签名差异,我们会遇到编译错误,因此似乎没有选择最新的。我见过各种排除方法,但不确定当我们使用基于文件系统的依赖库(不是 maven 或 ivy)时它们如何应用。Eclipse 似乎可以解决问题并编译但 gradle barfs。我尝试了各种形式:
configurations {
all*.exclude group:'org.apache', name: 'httpcore', version:'4.0.1'
all*.exclude group:'org.apache.httpcomponents', name: 'httpcore', version:'4.0.1'
}
我在这里想念什么?
我正在使用 Gradle 1.0-milestone-8a