2017-07-10 29 views
0

問題があります。JavaでS3クライアントを作成中にエラーが発生しました

私は(他人が書いた)うまく動作するJavaプロジェクトを持っています.GitHubのコンピュータにクローンしてEclipseで開きました。スクリプトを実行しようとすると、スクリプトがs3クライアントを作成しようとするとエラーが発生します。

これは、コード(this.client = AmazonS3Clientインスタンス)である:

ClientConfiguration clientConfiguration = new ClientConfiguration(); 
ClientConfiguration.setMaxConnections(10); 
clientConfiguration.setConnectionTimeout(120000); 
clientConfiguration.setSocketTimeout(120000); 
clientConfiguration.setMaxErrorRetry(5); 

this.client = new AmazonS3Client(new InstanceProfileCredentialsProvider(), clientConfiguration); 

これは誤りである:

Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper 
    at com.amazonaws.internal.config.InternalConfig.<clinit>(InternalConfig.java:43) 
    at com.amazonaws.internal.config.InternalConfig$Factory.<clinit>(InternalConfig.java:304) 
    at com.amazonaws.util.VersionInfoUtils.userAgent(VersionInfoUtils.java:142) 
    at com.amazonaws.util.VersionInfoUtils.initializeUserAgent(VersionInfoUtils.java:137) 
    at com.amazonaws.util.VersionInfoUtils.getUserAgent(VersionInfoUtils.java:100) 
    at com.amazonaws.ClientConfiguration.<clinit>(ClientConfiguration.java:64) 

Iはthis.client = AmazonS3ClientBuilder.defaultClient()」も試み。 " "Amazon3Client"インスタンスを使用していましたが、同じ問題、ClientConfigurationを定義しようとしたときにエラーが発生しました...

私はaws-java-sdk-1.11.160.jarを使用しています1.11.111で動作しませんでしたので、瓶をアップグレードすると助けになるかもしれないと思っていました...)

私はこれで2,3日後になりました。問題... 何か助けが素晴らしいだろう...ありがとう!

+0

メイトのオプションを使用している

http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html

この問題は通常、パッケージの2つの異なるバージョンをインポートしたときに発生します。 – nafas

答えて

0

クラスパスにjackson-databind jarがありません。

あなたはMavenを使用する場合は、このエラーを解決するために、次の依存関係を追加することができます。

<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-databind</artifactId> 
    <version><your version></version> 
</dependency> 
+0

私はMavenを使用せず、私の.classpathファイルに "" – Bramat

0

このコードは、EC2インスタンスプロファイルからAWS秘密アクセスキーをつかむために書かれています。ローカルでクローンを作成する場合は、AWS APIを認証する別の方法を提供する必要があります。クライアントを構築する場合、あなたはすべての依存関係を持っていると思われる場合、このコードは、その後、IAM instance profile

new InstanceProfileCredentialsProvider(),

Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/InstanceProfileCredentialsProvider.html

+0

@strongiz - 私は与えました。 "Run Configurations"の "Environment Variables"にAWS Access&Secret IDを既に設定しています - エラーは、新しいClientConfigurationインスタンスから来ています。クレデンシャルを取得する必要がある行からではありません...(意味 - コード!) – Bramat

関連する問題