Grails NoSuchField异常因为apache http核心的错误依赖版本

时间:2014-01-29 16:56:43

标签: java grails dependency-management apache-httpclient-4.x

我有Grails 2.0.4应用程序依赖于依赖于org.apache.httpcomponents的jar:httpcore:4.3.1

我收到一个NoSuchField异常,我设法追踪到org.apache.http.impl.conn.BasicLineParser.INSTANCE。

此字段仅出现在httpcore 4.3中,在此版本之前字段为BasicLineParser.DEFAULT而不是

我的BuildConfig.groovy就像:

dependencies {
    runtime 'mysql:mysql-connector-java:5.1.16'
    runtime 'org.apache.httpcomponents:httpclient:4.3.1'
    runtime 'org.apache.httpcomponents:httpcore:4.3.1'
}

运行dependecy报告我发现oauth.signpost有一个signpost-commonshttp4依赖于httpcore:4.0.1,这可能是我的问题的根本原因,因为它没有INSTANCE属性。 / p>

我试图排除这种依赖性添加

runtime('oauth.signpost:signpost-commonshttp4:1.2.1.1'){
    excludes 'httpcore'
}

没有成功。

是否有其他方法可以阻止代码使用较旧的库版本?

此致

分辨

我成功解决了此问题,添加了额外的依赖配置

build 'org.apache.httpcomponents:httpclient:4.3.1'
build 'org.apache.httpcomponents:httpcore:4.3.1'

以及运行时

谢谢大家

0 个答案:

没有答案