2017-04-12 4 views
2

현재 AWS Cloud와 관련된 작업을 수행하기 위해 기존 애플리케이션에 AWS Java SDK를 추가하려고합니다. aws java sdk를 최신 버전 ie.1.11.113으로 가져 오는 동안 런타임 예외가 발생합니다. 예외에 대한 연구가 끝난 이유는 Java SDK에 대한 사용되지 않는 버전 또는 호환되지 않는 버전을 사용하는 Java SDK 때문입니다.AWS Java SDK가 jackson jar의 구 버전을 사용 중입니다.

sdk는 필요한 버전이 5 이상인 동안 4.1 버전의 jackson jar를 사용하고 있습니다. 심지어 가장 최근의 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:] 

어떻게이 특정 병을 사용하고 최신 항아리를 사용할 수 있도록 코드를 방지 할 수 있습니다. 나는 gradle을 빌드 도구로 사용하고 있습니다.

+0

jackson lib 님은 당신이 말하는거야? [FasterXML/jackson lib] (https://github.com/FasterXML/jackson/wiki/Jackson-Releases)는 현재 2.8 (개발/2.9 인치) 버전이고 aws SDK에는 2.6.6 버전이 포함되어 있습니다. –

+0

AWS JAVA SDK 1.11.113을 사용하고 있습니다. 내부적으로 jackson jar 4.1을 사용하고 있습니다. 이것은 예외의 원인입니다. – OPTIMUS

+0

잘 1.11.113 pom.xml은 jackson 2.6.6 버전을 선언합니다. https://github.com/aws/aws-sdk-java/blob/2bf561f0a27e5b4b51c5fa730baf4c6af7c36fc3/pom.xml#L142 –

답변

1

당신은 메이븐을 사용하고 있습니까? 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>