我一直在尝试使用 java 连接 amazon s3。我已经在亚马逊控制台上注册并拥有凭据。但是当我运行代码时,在线上不断出现错误:
AmazonS3 s3client = new AmazonS3Client(credentials);
Exception received:- *Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at com.amazonaws.AmazonWebServiceClient.<clinit>(AmazonWebServiceClient.java:57)
at bucket_conn.main(bucket_conn.java:25)*
我已经导入了所有重要的 jar 文件。那我到底缺少什么。现在,只需创建连接并获取存储桶。
String awsAccessKey = "*** access key ***";
String awsSecretKey = "*** secret key ***";
AWSCredentials credentials = new BasicAWSCredentials(awsAccessKey, awsSecretKey);
AmazonS3 s3client = new AmazonS3Client(credentials);
for (Bucket bucket : s3client.listBuckets()) {
System.out.println("Bucket Name - " + bucket.getName());
}
Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
at com.amazonaws.util.json.Jackson.<clinit>(Jackson.java:32)
at com.amazonaws.internal.config.InternalConfig.loadfrom(InternalConfig.java:232)
at com.amazonaws.internal.config.InternalConfig.load(InternalConfig.java:249)
at com.amazonaws.internal.config.InternalConfig$Factory.<clinit>(InternalConfig.java:284)
at com.amazonaws.util.VersionInfoUtils.userAgent(VersionInfoUtils.java:139)
at com.amazonaws.util.VersionInfoUtils.initializeUserAgent(VersionInfoUtils.java:134)
at com.amazonaws.util.VersionInfoUtils.getUserAgent(VersionInfoUtils.java:95)
at com.amazonaws.ClientConfiguration.<clinit>(ClientConfiguration.java:42)
at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:347)
at bucket_conn.main(bucket_conn.java:25)
最佳答案
您在类路径中错过了 commons-logging.jar
。下载它并将其添加到您的类路径中。
更新:
现在您错过了 com.fasterxml.jackson.databind.jar
。下载它并将其添加到您的类路径中。
关于java - 与 S3 连接期间收到的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28600611/