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

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

com.amazonaws

aws-java-sdk-s3

1.11.506

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

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

1 packagecom.hp.nova.common.tasksync.awss3;2

3 importjava.io.File;4 importjava.io.IOException;5

6 importcom.amazonaws.AmazonServiceException;7 importcom.amazonaws.SdkClientException;8 importcom.amazonaws.auth.AWSCredentials;9 importcom.amazonaws.auth.AWSStaticCredentialsProvider;10 importcom.amazonaws.auth.BasicAWSCredentials;11 importcom.amazonaws.auth.profile.ProfileCredentialsProvider;12 importcom.amazonaws.services.s3.AmazonS3;13 importcom.amazonaws.services.s3.AmazonS3ClientBuilder;14 importcom.amazonaws.services.s3.model.ObjectMetadata;15 importcom.amazonaws.services.s3.model.PutObjectRequest;16

17 public classUploadObject {18

19 public static void main(String[] args) throwsIOException {20 String clientRegion = "cn-northwest-1";21 String bucketName = "nova-test";22 String stringObjKeyName = "novatestkey";23 String fileObjKeyName = "test.txt";24 String fileName = "C:/nova_work_document/test.txt";25

26 try{27 AWSCredentials awsCredentials = new BasicAWSCredentials("Access key ID", "Secret access key");28 AmazonS3 s3Client =AmazonS3ClientBuilder.standard()29 .withRegion(clientRegion)30 .withCredentials(newAWSStaticCredentialsProvider(awsCredentials))31 .build();32

33 //Upload a text string as a new object.

34 s3Client.putObject(bucketName, stringObjKeyName, "Uploaded String Object");35

36 //Upload a file as a new object with ContentType and title specified.

37 PutObjectRequest request = new PutObjectRequest(bucketName, fileObjKeyName, newFile(fileName));38 ObjectMetadata metadata = newObjectMetadata();39 metadata.setContentType("plain/text");40 metadata.addUserMetadata("x-amz-meta-title", "someTitle");41 request.setMetadata(metadata);42 s3Client.putObject(request);43 }44 catch(AmazonServiceException e) {45 //The call was transmitted successfully, but Amazon S3 couldn't process46 //it, so it returned an error response.

47 e.printStackTrace();48 }49 catch(SdkClientException e) {50 //Amazon S3 couldn't be contacted for a response, or the client51 //couldn't parse the response from Amazon S3.

52 e.printStackTrace();53 }54 }55 }

就会报错如下

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中把如下都配置上

com.amazonaws

aws-java-sdk-s3

1.11.506

com.amazonaws

aws-java-sdk-kms

1.11.506

com.amazonaws

aws-java-sdk-core

1.11.506

com.amazonaws

jmespath-java

1.11.506

jar包的情况如下图

然后执行就可以成功了

java aws s3_java操作AWS S3一些坑记录相关推荐

  1. IDEA JAVA gradle等常见工具/包 踩坑记录

    IDEA如何远程调试: 需要注意运行的那个程序 需要加thread.sleep  参考官方案例(上)--------------需要wait for listening 等待调试机来连才行 总结: 加 ...

  2. aws s3 python_Python 操作amazon s3 | 学步园

    Python  操作amazon s3 import os import boto from boto.s3.key import Key from boto.s3.connection import ...

  3. aws s3 cli_了解AWS CLI –使用AWS CLI与AWS S3存储桶进行交互

    aws s3 cli It is the second article in the Learn AWS CLI series. It gives you an overview of working ...

  4. AWS Ec2实例挂载S3存储桶实践

    AWS Ec2实例挂载S3存储桶实践 1.编译安装s3fs-fuse: 编译安装: sudo yum install -y automake fuse fuse-devel gcc-g++ git l ...

  5. AWS - 查看操作历史 - CloudTrail

    在AWS中,想要查看账号的操作历史,可以从CloudTrail服务中查看. 通过CloudTrail,可以分别从几个维度查看: 用户名(User name) 事件名称(Event name) 资源类型 ...

  6. aws dynamodb_带有AWS DynamoDB的React式Spring Webflux

    aws dynamodb AWS已经发布了Java版本2的AWS开发工具包 ,该开发工具包现在支持针对不同AWS服务的API调用的非阻塞IO. 在本文中,我将探讨如何使用AWS开发工具包2.x的Dyn ...

  7. aws cognito_使用AWS Cognito的用户管理—(1/3)初始设置

    aws cognito by Kangze Huang 黄康泽 使用AWS Cognito的用户管理-(1/3)初始设置 (User Management with AWS Cognito - (1/ ...

  8. aws cli 使用_学习AWS CLI –使用AWS CLI探索IAM用户,角色,策略

    aws cli 使用 AWS provides a command-line interface (AWS CLI) tool to work with its various cloud servi ...

  9. aws lambda_在AWS Lambda上运行“ Hello World”

    aws lambda Let's run the "Hello World" example on AWS Lambda. I would recommend reading ab ...

最新文章

  1. 华人斩获最佳Demo论文,Bengio获时间检验奖,最佳论文突破NLP传统测试方法 | ACL 2020...
  2. nodejs中的exports和module.exports
  3. sql分区-纵向分表与横向分区表(转)
  4. 如何给容器服务的Docker增加数据盘
  5. jquery插件之thickbox
  6. ajax eval html,Ajax eval的应用示例
  7. java中 静态方法与成员方法何时使用
  8. c语言程序设计k.r,【答题】C语言程序设计问题与解释实验
  9. 《天天数学》连载19:一月十九日
  10. 你的成就只能代表着你过去的努力程度
  11. sb3转换html,scratch3程序如何转成HTML和制作成exe文件转换心得(小白篇)!
  12. 分布式数据库原理解析
  13. 小码哥教育Vuejs笔记
  14. CloudNative:云原生(分布式云)的简介(发展演变/为什么需要/优势价值/安全/对比传统企业应用)、四大核心技术、CNCF云原生交互景观、云原生技术的使用经验及方法之详细攻略
  15. 第三届蓝桥杯B组 C/C++取球游戏
  16. 本质安全设备标准(IEC60079-11)的理解(一)
  17. 水库水雨情监测系统方案分享-水库水位监测-水情监测
  18. 速率法和终点法的区别_生化反应曲线解析1(终点法)
  19. UVA - 12627 - Erratic Expansion(找规律递归)
  20. 华为WATCH GT3正式开售,健康监测和运动管理我全都要

热门文章

  1. 云网络丢包故障定位全景指南
  2. 建议收藏 | 全面解析 50+条 SQL 语句性能优化策略
  3. 如果我是面试官,我会问你 Spring 那些问题?
  4. 设计模式:工厂方法模式(Factory Method)和抽象工厂模式(Abstact Factory)
  5. WebRTC的现状和未来:专访W3C WebRTC Chair Bernard Aboba(下)
  6. 做音视频开发,你读对书了吗?(内有福利)
  7. Aupera:FPGA让视频编码与AI结合水到渠成
  8. 2017-2018:WebRTC标准演进与发展瓶颈
  9. Serverless:云函数 + 小马BI,将报表极速搬上云
  10. PMP之工具与技术---假设条件和制约因素