[AWS] NoSuchMethodError : org.apache.http.ssl 오류 발생시 확인할 부분
문제 발생 환경 정보
- Spring Framework 3.2.3.RELEASE
- org.apache.httpcomponents.httpclient 4.3.3
오류 사항
1월 26, 2017 3:58:25 오후 org.apache.catalina.core.StandardWrapperValve invoke
심각: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>(Ljavax/net/ssl/SSLContext;Ljavax/net/ssl/HostnameVerifier;)V] with root cause
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:91)
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:51)
at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:39)
at com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:282)
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:164)
at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:520)
at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:500)
at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:482)
at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:454)
at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:436)
해결 방안
Apache Commons HTTP Client의 version이 낮아서 생긴문제이다.
AWS SDK는 최소 4.5.2를 요구한다고 한다.
관련 링크