在HttpClients.custom()上获取NoSuchMethodError.setConnectionManagerShared(true).build()

时间:2017-07-20 15:13:05

标签: java eclipse maven apache-httpclient-4.x nosuchmethoderror

我正在尝试使用EJB中的URL创建HTTP连接,下面的代码行抛出错误

HttpClients.custom().setConnectionManagerShared(true).build();

ERROR:

java.lang.NoSuchMethodError: org.apache.http.impl.client.HttpClientBuilder.setConnectionManagerShared(Z)Lorg/apache/http/impl/client/HttpClientBuilder;

最初我没有指定哪个版本的HttpClient,所以我将GAV添加到我的pom.xml

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

我确保war文件有那个jar。在编译期间Eclipse中没有错误。

但每当我执行它时,我都会得到NoSuchMethodError。我使用的是Java版本1.8.0_131。

我完全感到困惑,因为如果我在编译时没有得到错误,为什么我在运行时获得它?非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

这是jar依赖问题。您的代码中有多个可用于此类的jar。请使用下面的命令检查使用包结构的罐子,找出罪魁祸首。

mvn依赖:tree -Dverbose -Dincludes = org.apache.http.impl.client