0
org.apache.http.clientを使用してTomcat 7からPOSTを呼び出す。 同じコードが自分のマシンで動作するが失敗する私のサーバー。HttpClientがTomcatで動作していない、NoSuchMethodError org/apache/http/entity/ContentType
私はクラスローダーの問題のようですが、私はすべてのjarファイルをダブルチェックし、libディレクトリに同じjarファイルを持っています。
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)
Iは使用jarファイルをダンプし、そして両方のTOMCATSが同じにHTTPClient-4.2.5.jarを使用して、およびHTTPジャーれます。
私のdevのマシンは、Tomcat 7.0.50を持っており、サーバが内部のHTTPClientクラスの別のバージョンを持っていた、問題は私の他のlibにjarファイルの一つであった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);
異なるバージョンの重複したjarファイルがある可能性があります。すべてのHttpClientライブラリが同じバージョンのもので、重複していないことを確認してください。 – vzamanillo