2017-07-20 4 views
-1

Ich versuche, eine HTTP-Verbindung mit einer URL in einem EJB und die folgenden Zeile Code zu erstellen werfen FehlerErster NoSuchMethodError auf HttpClients.custom(). SetConnectionManagerShared (true) .build()

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

ERROR:

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

Anfangs habe ich nicht angeben, welche Version von Httpclient, so fügte ich die GAV meiner pom.xml

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

Ich stellte sicher, dass die Kriegsakte dieses Glas hatte. Es gab keinen Fehler in Eclipse während der Kompilierzeit.

Aber immer wenn ich es ausführe, bekomme ich den NoSuchMethodError. Ich verwende Java Version 1.8.0_131.

Ich bin total verwirrt, denn wenn ich diesen Fehler nicht zur Kompilierzeit bekommen habe, warum bekomme ich es auf Runtime? Jede Hilfe wird sehr geschätzt

+0

Überprüfen Sie, ob Sie Server _libs_ Verzeichnisse nicht eine andere Version von Httpclient enthalten. – Berger

Antwort

0

Dies ist JAR-Abhängigkeitsproblem. In Ihrem Code sind mehrere Klassen für diese Klasse verfügbar. Bitte überprüfen Sie die Jars, die die Paketstruktur mit dem folgenden Befehl verwenden und finden Sie den Schuldigen dafür.

mvn Abhängigkeit: Baum -Dverbose -Dincludes = org.apache.http.impl.client

Verwandte Themen