Java NoSuchFieldError:HttpClient的实例
我使用HttpClient在RESTAPI上发布请求,如下所示Java NoSuchFieldError:HttpClient的实例,java,maven,header,http-post,apache-httpclient-4.x,Java,Maven,Header,Http Post,Apache Httpclient 4.x,我使用HttpClient在RESTAPI上发布请求,如下所示 HttpClient client = HttpClientBuilder.create().build(); HttpPost post = new HttpPost(url); post.setHeader("Content-Type","application/json"); post.addHeader("Authorization", "Bearer " +authToken); J
HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(url);
post.setHeader("Content-Type","application/json");
post.addHeader("Authorization", "Bearer " +authToken);
JSONObject json = new JSONObject();
json.put("image_url", ");
json.put("job_fqn","");
JSONArray routesJsonArray = new JSONArray();
routesJsonArray.put(0, "");
json.put("routes",routesJsonArray);
StringEntity params = new StringEntity(json.toString());
post.setEntity(params);
HttpResponse response = client.execute(post);
client.getConnectionManager().shutdown();
这给了我们一个机会
java.lang.NoSuchFieldError: INSTANCE
创建HTPClient对象时出错
我的pom文件包含
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.4.1</version>
</dependency>
因为它是同一个版本,所以我认为它不应该引起版本冲突。我还缺什么吗
这是堆栈跟踪
[[ERROR] [06/30/2016 13:26:27.762] [-akka.actor.default-dispatcher-7] [ActorSystem(deployer)] Uncaught error from thread [-akka.actor.default-dispatcher-7] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled
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)
[[ERROR][06/30/2016 13:26:27.762][akka.actor.default-dispatcher-7][ActorSystem(deployer)]线程[-akka.actor.default-dispatcher-7]未捕获错误关闭JVM,因为启用了“akka.JVM退出致命错误”
java.lang.NoSuchFieldError:实例
位于org.apache.http.impl.io.DefaultHttpRequestWriterFactory。(DefaultHttpRequestWriterFactory.java:52)
位于org.apache.http.impl.io.DefaultHttpRequestWriterFactory。(DefaultHttpRequestWriterFactory.java:56)
位于org.apache.http.impl.io.DefaultHttpRequestWriterFactory。(DefaultHttpRequestWriterFactory.java:46)
位于org.apache.http.impl.conn.ManagedHttpClientConnectionFactory。(ManagedHttpClientConnectionFactory.java:72)
位于org.apache.http.impl.conn.ManagedHttpClientConnectionFactory。(ManagedHttpClientConnectionFactory.java:84)
位于org.apache.http.impl.conn.ManagedHttpClientConnectionFactory。(ManagedHttpClientConnectionFactory.java:59)
位于org.apache.http.impl.conn.PoolightPClientConnectionManager$InternalConnectionFactory。(PoolightPClientConnectionManager.java:493)
位于org.apache.http.impl.conn.PoolighttpClientConnectionManager。(PoolighttpClientConnectionManager.java:149)
位于org.apache.http.impl.conn.PoolighttpClientConnectionManager。(PoolighttpClientConnectionManager.java:138)
位于org.apache.http.impl.conn.PoolighttpClientConnectionManager。(PoolighttpClientConnectionManager.java:114)
位于org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:726)
当我试图到达HttpClientBuilderClass的第726行时,我看不到builder方法?类结束于第431行!请发布完整的堆栈跟踪和错误消息,并指出哪一行抛出它。您可能引用了一个不在那里的字段,但我们无法确定,因为您没有向我们显示所有代码这就是所有代码,对不起,你说的是哪个字段?@Sontirios,谢谢,我刚刚发布了stac traceThat,它似乎是指
basiclineformter#INSTANCE
,它应该在httpcore中。请在运行时检查类路径中是否有正确版本的库。请发布完整的堆栈跟踪和错误消息,并指出是哪个版本h line抛出了它。你可能引用了一个不在那里的字段,但我们无法确定,因为你没有向我们展示所有的代码。这就是所有的代码,很抱歉,但你说的是哪个字段?baout?@Sontirios,谢谢,我刚刚发布了stac Traceth,它似乎指的是Basiclineformter#INSTANCE
,应该在ht中在运行时检查类路径中是否有正确版本的库。
[[ERROR] [06/30/2016 13:26:27.762] [-akka.actor.default-dispatcher-7] [ActorSystem(deployer)] Uncaught error from thread [-akka.actor.default-dispatcher-7] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled
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)