Ich benutze die org.apache.http.client, um einen POST von Tomcat 7 anzurufen. Derselbe Code funktioniert auf meinem Dev-Rechner, aber scheitert an mein Server.HttpClient funktioniert nicht auf Tomcat, NoSuchMethodError org/apache/http/entity/ContentType
Ich scheint ein Classloader-Problem zu sein, aber ich habe alle Gläser überprüft, und sie haben die gleichen Gläser in ihrem Lib-Verzeichnis.
java.lang.NoSuchMethodError: org.apache.http.entity.StringEntity.<init>(Ljava/lang/String;Lorg/apache/http/entity/ContentType;)V
org.apache.http.client.entity.UrlEncodedFormEntity.<init>(UrlEncodedFormEntity.java:61)
org.botlibre.util.Utils.httpPOST(Utils.java:424)
Ich warf die Gläser verwenden, und beide tomcats den gleichen Httpclient-4.2.5.jar verwenden und http Gläser.
Meine dev Maschine hat tomcat 7.0.50 und der Server 7.0.68
CodeSource src = StringEntity.class.getProtectionDomain().getCodeSource();
if (src != null) {
System.out.println(src.getLocation());
}
Class klass = StringEntity.class;
URL location = klass.getResource('/' + klass.getName().replace('.', '/') + ".class");
System.out.println(location);
Klingt wie ein Abhängigkeitskonflikt, vielleicht haben Sie ein Duplikat jar mit verschiedenen Versionen, stellen Sie sicher, dass alle Ihre HttpClient-Bibliotheken von der gleichen Version sind und keine Duplikate haben. – vzamanillo