我正在尝试使用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。
我完全感到困惑,因为如果我在编译时没有得到错误,为什么我在运行时获得它?非常感谢任何帮助
答案 0 :(得分:0)
这是jar依赖问题。您的代码中有多个可用于此类的jar。请使用下面的命令检查使用包结构的罐子,找出罪魁祸首。
mvn依赖:tree -Dverbose -Dincludes = org.apache.http.impl.client