2016-05-22 4 views
7

と組織/ apacheの/ HTTP/CONN/SchemePortResolverすべてjava.lang.NoClassDefFoundErrorが:AmazonHttpClient

私は、最新の1.11.3にAWSライブラリを更新したときに、私は私のプロジェクトでは、このエラーに実行しています。誰もが私が間違って何をしたか知っている私のpom.xmlで

java.lang.NoClassDefFoundError: org/apache/http/conn/SchemePortResolver 
at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.<init>(ApacheHttpClientFactory.java:40) 
at com.amazonaws.http.AmazonHttpClient.<clinit>(AmazonHttpClient.java:97) 
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:339) 

<dependency> 
     <groupId>com.amazonaws</groupId> 
     <artifactId>aws-java-sdk-core</artifactId> 
     <version>1.11.3</version> 
    </dependency> 
    <dependency> 
     <groupId>com.amazonaws</groupId> 
     <artifactId>aws-java-sdk-s3</artifactId> 
     <version>1.11.3</version> 
    </dependency> 
    <dependency> 
     <groupId>com.amazonaws</groupId> 
     <artifactId>aws-java-sdk-kms</artifactId> 
     <version>1.11.3</version> 
    </dependency> 
    <dependency> 
     <groupId>org.bouncycastle</groupId> 
      <artifactId>bcprov-ext-jdk15on</artifactId> 
     <version>1.54</version> 
    </dependency> 
    <dependency> 
     <groupId>com.amazonaws</groupId> 
     <artifactId>aws-encryption-sdk-java</artifactId> 
      <version>0.0.1-SNAPSHOT</version> 
    </dependency> 

はによって引き起こされますか?

おかげ

答えて

1

あなたは、

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

を追加した場合、それが欠落しているクラス定義が含まれているとして、それは大丈夫動作するはずです。

+1

はStackOverflowのへようこそ。動作するコードを含めることに加えて、これがなぜ機能するかについてのテキストをいくつか含めてください。 – buczek

+0

同じエラーが私のsdkをspark-redshiftパッケージの1.11.15にアップグレードしようとしていますが、同じエラーも発生しています。 pomにhttpclient depを追加しても役に立たなかった。それ以上の運があれば? – horatio1701d

10

私のgrailsアプリケーションでも同様の問題がありました。私の場合、ClassNotFoundExceptionはデプロイスクリプトからスローされていました。私にとっては、SchemePortResolverが暗黙的に解決されていなかった理由は、コンパイル時に必要ではなかったため、実行時に必要とされたためです。ここで私はそれを修正するために私BuildConfig.groovyに追加するものです:

runtime 'org.apache.httpcomponents:httpclient:4.5.2' //Required by BeanstalkDeploy.groovy at runtime 

OPの質問には、Mavenのためだったので、ここで同等だ含まれます:

<dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpclient</artifactId> 
    <version>4.5.2</version> 
    <scope>runtime</scope> 
</dependency> 
関連する問題