当我尝试创建新的 AmazonS3Client 对象时
client = new AmazonS3Client(new BasicAWSCredentials(S3ACCESS_KEY, S3SECRET_KEY));
我收到此错误:
Caused by: java.lang.NoClassDefFoundError: org/apache/http/HttpRequest
我的项目包含 httpcore-4.1.jar,我可以在其中看到 HttpRequest.class 文件。我还包含 httpclient-4.1.3.jar。这对这个有影响吗?
该项目构建得很好,只有在创建新的 AmazonS3Client 对象时才会遇到此错误。有什么想法吗?
最佳答案
我相信您的问题是 http 客户端版本错误。查看amazonws maven Artifact ,它依赖于`HttpCLient 4.2.1。
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.2.15</version>
</dependency>
使用 HttpClient 4.2.1。
关于新 AmazonS3Client 上的 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12309151/