1,aws sdk jar版本不一致问题

一开始我在pom.xml中只配置了如下aws-java-sdk-s3

<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-s3 -->
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.11.506</version>
</dependency>

然后eclipse工程中如下截图,可以看到这3个jar版本不一致

然后我直接执行下面的代码put 字符串和上传文件

 package com.hp.nova.common.tasksync.awss3;

 import java.io.File;
import java.io.IOException; import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectRequest; public class UploadObject { public static void main(String[] args) throws IOException {
String clientRegion = "cn-northwest-1";
String bucketName = "nova-test";
String stringObjKeyName = "novatestkey";
String fileObjKeyName = "test.txt";
String fileName = "C:/nova_work_document/test.txt"; try {
AWSCredentials awsCredentials = new BasicAWSCredentials("Access key ID", "Secret access key");
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withRegion(clientRegion)
.withCredentials(new AWSStaticCredentialsProvider(awsCredentials))
.build(); // Upload a text string as a new object.
s3Client.putObject(bucketName, stringObjKeyName, "Uploaded String Object"); // Upload a file as a new object with ContentType and title specified.
PutObjectRequest request = new PutObjectRequest(bucketName, fileObjKeyName, new File(fileName));
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType("plain/text");
metadata.addUserMetadata("x-amz-meta-title", "someTitle");
request.setMetadata(metadata);
s3Client.putObject(request);
}
catch(AmazonServiceException e) {
// The call was transmitted successfully, but Amazon S3 couldn't process
// it, so it returned an error response.
e.printStackTrace();
}
catch(SdkClientException e) {
// Amazon S3 couldn't be contacted for a response, or the client
// couldn't parse the response from Amazon S3.
e.printStackTrace();
}
}
}

就会报错如下

Exception in thread "main" java.lang.NoSuchFieldError: SIGNING_REGION
at com.amazonaws.services.s3.AmazonS3Client.createRequest(AmazonS3Client.java:4654)
at com.amazonaws.services.s3.AmazonS3Client.createRequest(AmazonS3Client.java:4630)
at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1706)
at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:3819)
at com.hp.nova.common.tasksync.awss3.UploadObject111.main(UploadObject111.java:34)

解决方法:

在pom.xml中把如下都配置上

<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-s3 -->
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.11.506</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-kms -->
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-kms</artifactId>
<version>1.11.506</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-core -->
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-core</artifactId>
<version>1.11.506</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.amazonaws/jmespath-java -->
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>jmespath-java</artifactId>
<version>1.11.506</version>
</dependency>

jar包的情况如下图

然后执行就可以成功了

最新文章

  1. PHP-Redis扩展使用手册(四)
  2. android SDK下载及中文API地址
  3. Yocto开发笔记之《嵌入式linux libcurl编程》(QQ交流群:519230208)
  4. C++库(Thrift)
  5. django admin下拉列表不显示值,显示为object的处理
  6. MySQL 利用SQL线程对Binlog操作(转)
  7. PHP开发者常犯的10个MySQL错误
  8. Redpine的Lite-Fi解决方案获Wi-Fi CERTIFIED认证
  9. Day14 HTML补充
  10. FPGA机器学习之学习的方向
  11. Hadoop读书笔记(二)HDFS的shell操作
  12. 3.linux常用软件的安装方法
  13. hibernate框架学习笔记10:HQL查询详解
  14. FFmpeg源代码结构图 - 编码
  15. 【Java基础】【25多线程(下)&amp;GUI】
  16. 跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日
  17. Django 生成验证码或二维码 pillow模块
  18. oracle数据库删除数据恢复
  19. asp.net 项目目录说明
  20. Linux学习——定义命令行函数(cd .. -&gt; ..)

热门文章

  1. Apache Flume的介绍安装及简单案例
  2. 在zookeeper集群的基础上,搭建伪solrCloud集群
  3. go_指针
  4. Spark 性能相关参数配置详解-压缩与序列化篇
  5. Opencv 亚像素级别角点检测
  6. linux系统中的单引号和双引号
  7. 监控web接口和添加触发器
  8. Nlog- Application Logging in C#
  9. hbase java api样例(版本1.3.1,新API)
  10. layer + ajax 弹出框