私のプロジェクトは、aws-java-sdk-1.11.15を使用してAmazon S3にファイルをアップロードしようとしています。 CLIでプロジェクトをビルドするためにantを使用しています。私が使っているjacksonのバージョンは2.8.0です。クラスパスにlibフォルダを追加しています。すべての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、keyNameの、ファイル))s3client.putObjectです。
あなたはこれを解決しましたか?私はjackson 2.6.6と同じエラーがあります。しかし、私はそのような方法が2.6.6と2.8.2の両方に存在することに気づいた。 – Jack
はい。それはジャクソン版の問題でした。 – srao
私は自分の問題をよりよく特定したと思う。私はそのような方法を持たない独自のjacksonライブラリ(古いもの)が付属しているglassfish-4.1を実行しています。私のアプリケーションは、私が提供するものを使用せず、アプリケーションサーバによって既にロードされているものを使用します。私はglassfish-4.1の中でs3clientを使う方法を見つけませんでした。 – Jack