내 프로젝트가 aws-java-sdk-1.11.15를 사용하여 Amazon S3에 파일을 업로드하려고합니다. 개미를 사용하여 CLI에서 프로젝트를 빌드하고 있습니다. 제가 사용하고있는 잭슨 버전은 2.8.0입니다. libpath 폴더를 클래스 경로에 추가하고 있습니다. 내 모든 jar 파일은 lib 폴더에 있습니다. 이 코드 조각을 위해Java를 사용하여 Amazon S3에 파일을 업로드하려고 시도하는 중 Jackson이있는 NoSuchMethodError.
Exception in thread "main" java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectMapper.enable([Lcom/fasterx
ml/jackson/core/JsonParser$Feature;)Lcom/fasterxml/jackson/databind/ObjectMapper;
at com.amazonaws.partitions.PartitionsLoader.(PartitionsLoader.java:54)
at com.amazonaws.regions.RegionMetadataFactory.create(RegionMetadataFactory.java:30)
at com.amazonaws.regions.RegionUtils.initialize(RegionUtils.java:66)
at com.amazonaws.regions.RegionUtils.getRegionMetadata(RegionUtils.java:54)
at com.amazonaws.regions.RegionUtils.getRegion(RegionUtils.java:107)
at com.amazonaws.services.s3.AmazonS3Client.createSigner(AmazonS3Client.java:3256)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3952)
at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1538)
at code4goal.antony.resumeparser.ResumeParserProgram.main(ResumeParserProgram.java:613)
- - 나는 내 코드를 실행에 다음을 얻을
AmazonS3 s3client = new AmazonS3Client(new ProfileCredentialsProvider());
try
{
File file = new File(uploadFileName);
s3client.putObject(new PutObjectRequest(bucketName, keyName, file));
}
오류 (새 PutObjectRequest (bucketName, 키 이름, 파일)) s3client.putObject에;
해결 되었습니까? 나는 잭슨 2.6.6과 같은 오류가있다. 그러나 나는 2.6.6과 2.8.2에서 그러한 방법이 존재한다는 것을 알았다. – Jack
예. 잭슨 버전의 문제였습니다. – srao
문제를 더 잘 식별 할 수 있다고 생각하십시오. 나는 그런 방법이없는 자체 잭슨 라이브러리 (오래된 것)와 함께 제공되는 glassfish-4.1을 실행 중입니다. 내 응용 프로그램은 내가 제공 한 응용 프로그램을 사용하지 않고 응용 프로그램 서버에서 이미로드 한 이전 응용 프로그램을 사용합니다. glassfish-4.1에서 s3client를 사용할 방법을 찾지 못했습니다. – Jack