我遇到了问题。
我有一个运行良好的 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)
我还尝试了“this.client = AmazonS3ClientBuilder.defaultClient();”使用“Amazon3Client”实例,但效果不佳 - 同样的问题,尝试定义 ClientConfiguration 时出错...
我正在使用 aws-java-sdk-1.11.160.jar(之前尝试过使用 1.11.111,但没有成功,所以我想升级 jar 可能会有所帮助......但没有)
我已经研究了几天了,但似乎找不到问题...... 任何帮助都会很棒...谢谢!
最佳答案
您在类路径中错过了 jackson-databind
jar。
如果使用maven,可以添加以下依赖来解决此错误:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version><your version></version>
</dependency>
关于java - 用 Java 创建 S3 客户端时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45013413/