在HttpClientBuilder.build()中找不到org.apache.http.conn.ssl.SSLConnectionSocketFactory

时间:2017-08-08 16:02:06

标签: java apache-commons-httpclient

当我调用此代码时:

HttpClientBuilder clientBuilder = HttpClientBuilder.create(); 
LaxRedirectStrategy laxStrategy = new LaxRedirectStrategy();
clientBuilder = clientBuilder.setRedirectStrategy(laxStrategy);

httpClient = clientBuilder.build();   // FAILS HERE

我得到了java.lang.NoSuchFieldError:INSTANCE

看起来它无法找到类org.apache.http.conn.ssl.SSLConnectionSocketFactory,但是该类位于我的类路径的jar中。我怎么能找到罪魁祸首?

谢谢! 麦克

2 个答案:

答案 0 :(得分:2)

您的类路径上有不同版本的Apache Commons HTTP Client。您可以使用jdk 8尝试以下版本。

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.1.1</version>
</dependency>

答案 1 :(得分:1)

这看起来像是一个依赖问题。您正在寻找的班级可能出现在您的CP上的两个不同的罐子中。