AWS Java SDK - 使用区域方法时 Jackson 中的 NoSuchMethodError

AWS Java SDK - NoSuchMethodError in Jackson when using Region methods

我正在尝试使用 AWS Java SDK 访问我的 Elastic Transcoder 作业。但是,这些工作是在与我的开发机器不同的区域完成的。当我尝试建立 ElasticTranscoderClient 并设置它的区域时,出现以下错误:

java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectMapper.enable([Lcom/fasterxml/jackson/core/JsonParser$Feature;)Lcom/fasterxml/jackson/databind/ObjectMapper;
    at com.amazonaws.partitions.PartitionsLoader.<clinit>(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.client.builder.AwsClientBuilder.withRegion(AwsClientBuilder.java:233)
    at com.amazonaws.client.builder.AwsClientBuilder.withRegion(AwsClientBuilder.java:222)

我要强调的是,只有当我尝试将区域与客户端一起使用时才会发生这种情况(对于我尝试使用的任何 AWS 客户端都是如此)

网上查了下好像是Jackson版本不够高导致的,但是我不知道怎么解决,因为是AWS SDK的依赖,不是我项目的。

还有其他人遇到过这个问题吗?这真的是一个依赖性问题还是只是转移注意力?

编辑:使用 SDK 版本 1.11.60

我运行也喜欢这个。到目前为止,我的 pom.xml(我的项目使用 Maven)中的以下内容似乎可以修复它:

<dependency>
  <groupId>com.amazonaws</groupId>
  <artifactId>aws-java-sdk</artifactId>
  <version>1.11.125</version>
</dependency>

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-core</artifactId>
  <version>2.5.3</version>
</dependency>

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-annotations</artifactId>
  <version>2.5.3</version>
</dependency>

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.5.3</version>
</dependency>

您可以使用 aws sdk 2.0 解决这个问题,例如 software.amazon.awssdk:2.15.71