5

我正在尝试使用 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 客户端都是如此)

在线查看似乎这可能是由于杰克逊版本不够高造成的,但我不知道如何解决这个问题,因为它是 AWS SDK 的依赖项,而不是我的项目的依赖项。

其他人遇到过这个问题吗?这真的是一个依赖问题还是只是一个红鲱鱼?

编辑:使用 SDK 版本 1.11.60

4

2 回答 2

5

我也遇到了这个。到目前为止,我的 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>
于 2017-05-06T02:27:21.677 回答
0

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

于 2021-01-29T10:52:46.063 回答