[英]AWS Java SDK - NoSuchMethodError in Jackson when using Region methods
[英]AWS Java SDK is taking old version of jackson jar
目前,我正在努力在现有应用程序中添加AWS Java SDK,以执行与AWS云相关的操作。 在导入aws java sdk以获取最新版本ie1.11.113时,我遇到了运行时异常。 在研究异常后,原因是java sdk使用了不赞成版本或者与jackson jar不兼容的版本。
sdk正在使用版本4.1的jackson jar,而所需的版本必须至少为5.即使我正在给最新的jackson jar但仍然是参考SDK中存在的jar。 下面的代码快照将有助于轻松识别这一点
Caused by: 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) [aws-java-sdk-core-1.11.113.jar:]
at com.amazonaws.regions.RegionMetadataFactory.create(RegionMetadataFactory.java:30) [aws-java-sdk-core-1.11.113.jar:]
at com.amazonaws.regions.RegionUtils.initialize(RegionUtils.java:64) [aws-java-sdk-core-1.11.113.jar:]
at com.amazonaws.regions.RegionUtils.getRegionMetadata(RegionUtils.java:52) [aws-java-sdk-core-1.11.113.jar:]
at com.amazonaws.regions.RegionUtils.getRegion(RegionUtils.java:105) [aws-java-sdk-core-1.11.113.jar:]
at com.amazonaws.regions.Region.getRegion(Region.java:43) [aws-java-sdk-core-1.11.113.jar:]
如何避免使用此特定jar的代码并使其使用最新的jar。 我使用gradle作为构建工具。
你在用maven吗? 我有一个类似的问题,以前使用joda-time,然后使用<exclusion>
标签解决。 <exclusion>
标签可用于排除aws-java-sdk中的旧jackson。 以下是解决问题的方法:
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.11.113</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.8</version>
</dependency>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.