HttpClientBuilder-java.lang.NoSuchFieldError:INSTANCE

接收器

我有一个使用HttpClient执行HTTP请求的Maven Java项目。在我的本地Java Web Server上,一切正常。但是,将其部署到SAP Hana Cloud Platform后,出现以下错误:

java.lang.NoSuchFieldError: INSTANCE
at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:52)
at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:56)
at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<clinit>(DefaultHttpRequestWriterFactory.java:46)
at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:72)
at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:84)
at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<clinit>(ManagedHttpClientConnectionFactory.java:59)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$InternalConnectionFactory.<init>(PoolingHttpClientConnectionManager.java:493)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:149)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:138)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:114)
at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:726)
at com.sap.hana.cloud.odata.service.OlingoSampleApp.getHttpclient(OlingoSampleApp.java:382)
at com.sap.hana.cloud.odata.service.OlingoSampleApp.getCsrfToken(OlingoSampleApp.java:374)
at com.sap.hana.cloud.odata.service.ODataCalls.doGet(ODataCalls.java:163)
...

我的依赖看起来像这样:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.3.5</version>
    <scope>compile</scope>
</dependency>

根据这个问题,来自Java应用程序Mashape Unirest中的java.lang.NoSuchFieldError:org.apache.http.message.BasicLineFormatter.INSTANCE我试图使用以下代码来获取ClassLoader Ressource。

ClassLoader classLoader = this.getClass().getClassLoader();
URL resource = classLoader.getResource("org/apache/http/impl/client/HttpClientBuilder.class");
return resource;

它返回以下内容

"jar:file:/some/path/WEB-INF/lib/httpclient-4.3.5.jar!/org/apache/http/impl/client/HttpClientBuilder.class"

您可以看到jar版本是相同的。我看到的每个类似问题都有不连贯的jar版本是失败的根源。可能还有其他原因导致此错误吗?

更新

在评论中进行讨论之后,我将更新我的问题:

依赖树:

在此处输入图片说明

因此,现在我可以看到版本冲突,并删除了neo-java-web-api现在,classLoader再次返回版本4.3.2。但是我仍然从一开始就得到了错误。

没有neo-java-web-api现在的新的,完整的依赖关系树如下所示:在此处输入图片说明

接收器

我仍然找不到实际问题的解决方案。但是至少我可以找到一种解决方法。我将范围更改为<scope>provided</scope>仅使用功能,该功能在版本4.1.4中也可用。例如new DefaultHttpClient(cm);代替HttpClientBuilder.create().build();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

java.lang.NoSuchFieldError:INSTANCE

java.lang.NoSuchFieldError: INSTANCE - WebDriver

OrientDB 空间查询抛出错误:java.lang.NoSuchFieldError: INSTANCE

HTTPClient示例-线程“主”中的异常java.lang.NoSuchFieldError:INSTANCE

线程“主”中的异常java.lang.NoSuchFieldError:AWS SNS中的INSTANCE

java.lang.NoSuchFieldError:默认

java.lang.NoSuchFieldError:反思

Java应用程序中Mashape Unirest的java.lang.NoSuchFieldError:org.apache.http.message.BasicLineFormatter.INSTANCE

java.lang.NoSuchFieldError:IBM_JAVA

java.lang.NoSuchMethodError:okhttp3.internal.Platform.log和线程“ Okhttp Dispatcher”中的异常java.lang.NoSuchFieldError:INSTANCE

NullnessChecker错误:java.lang.NoSuchFieldError:释放

更改类后java.lang.NoSuchFieldError

ScalaFx MouseEvent:java.lang.NoSuchFieldError:返回

春季:java.lang.NoSuchFieldError:IMPORT_BEAN_NAME_GENERATOR

java.lang.NoSuchFieldError的:ACCEPT_CASE_INSENSITIVE_VALUES

正在创建CA ...意外错误java.lang.NoSuchFieldError:BasicConstraints

“java.lang.NoSuchFieldError的:超级”异常 - 错误的编译器?

使用 AWS Amplify API 時的 Android java.lang.NoSuchFieldError

java.lang.NoSuchFieldError: 运行 JUnit 测试时的边缘

使用ScalaTest时出现java.lang.NoSuchFieldError

线程“主”中的异常java.lang.NoSuchFieldError:TRACE

Spring 3.1 entityManagerFactory java.lang.NoSuchFieldError:NULL错误

GPIO - java.lang.NoSuchFieldError: device_reference

JSON解析器-java.lang.NoSuchFieldError:defaultReader

Eclipse无法启动:java.lang.NoSuchFieldError:url

java.lang.NoSuchFieldError:Apache HttpComonents和Wildfly中的实例

由第3方模块引起的java.lang.NoSuchFieldError

java中如何解决java.lang.NoSuchFieldError: RETURN_NULL_AND_BLANK

线程“主”中的异常java.lang.NoSuchFieldError:JAVA_VENDOR