什么版本的httpclient与Amazon SDK v 1.11.5兼容?

Dav*_*ave 12 httpclient nosuchmethoderror apache-httpclient-4.x aws-sdk

我正在使用Amazon Java SDK 1.11.5版(我在WEB-INF/lib目录中包含了aws-java-sdk-1.11.5.jar).我需要包含哪个版本的Apache httpclient库,它与此版本的AWS SDK兼容?我试过httpclient-4.3.4.jar,但我得到以下错误

15:34:25,366 ERROR [io.undertow.request] (default task-34) UT005023: Exception handling request to /pluginwiris_engine/app/service: java.lang.NoSuchMethodError:    org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>(Ljavax/net/ssl/SSLContext;Ljavax/net/ssl/HostnameVerifier;)V
    at com.amazonaws.http.conn.ssl.SdkTLSSocketFactory.<init>(SdkTLSSocketFactory.java:56)
    at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheConnectionManagerFactory.java:87)
    at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:65)
    at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:58)
    at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:46)
    at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:37)
    at com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:213)
    at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:145)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:393)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:373)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:355)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:327)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:309)
Run Code Online (Sandbox Code Playgroud)

感谢您的额外帮助, - 戴夫

Mar*_*k B 16

查看Java AWS SDK的源代码,在标记1.11.5下,您可以在POM文件中看到它们已指定以下内容:

<httpcomponents.httpclient.version>4.5.2</httpcomponents.httpclient.version>
Run Code Online (Sandbox Code Playgroud)

所以我说HTTP Client版本4.5.2与AWS SDK版本1.11.5兼容.如果您使用像Maven这样的依赖关系管理工具,您可以随时让它引入指定AWS SDK的HTTP Client版本.

图书馆的工作组合

  • @moondaisy你可能在类路径的某个地方有另一个版本的httpclient. (2认同)