我有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'
以及运行时
谢谢大家