httpclient jar conflict.如何解决?

2022-09-02 20:42:24

这是我的代码,我正在代理后面工作...

import org.apache.commons.io.IOUtils;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.DefaultProxyRoutePlanner;

{
HttpHost proxy = new HttpHost("proxyhost", 8082); 
DefaultProxyRoutePlanner routePlanner = new DefaultProxyRoutePlanner(proxy);
HttpClient client = HttpClients.custom().setRoutePlanner(routePlanner).build();
HttpResponse response = client.execute(request);}

以下错误出现在我的主机上

 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/ssl/SSLContexts
    at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:966)
    at TwitterFeeds.main(TwitterFeeds.java:40)
    Caused by: java.lang.ClassNotFoundException: org.apache.http.ssl.SSLContexts
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 2 more

我正在使用以下罐子

httpclient-4.5.2.jar
httpcore-4.3.jar

答案 1

该类已重新定位到 httpclient 4.4 中的另一个包。SSLContexts

自 4.4 起

将您的httpcore版本升级到至少4.4以解决此问题。


答案 2

请看一下答案 - 线程“main”java.lang.NoClassDefFoundError中的异常:org/apache/http/ConnectionReuseStrategy:

将 httpcore 版本更新到 4.4。它应该为你工作。