繁体   English   中英

AWS Java SDK正在使用旧版的jackson jar

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM