2016-04-01 10 views
3

Ich habe ein gemeinsames Problem mit der AWS SDK und Joda-Zeit. Und selbst wenn es viele dieser Fragen im Internet ist, bin ich immer noch nicht in der Lage, dies zu beheben ...AWS-Problem mit joda-Zeit (java.lang.NoSuchMethodError)

Exception in thread "main" java.lang.NoSuchMethodError: org.joda.time.format.DateTimeFormatter.withZoneUTC()Lorg/joda/time/format/DateTimeFormatter; 
at com.amazonaws.auth.internal.AWS4SignerUtils.<clinit>(AWS4SignerUtils.java:26) 
at com.amazonaws.auth.internal.AWS4SignerRequestParams.<init>(AWS4SignerRequestParams.java:85) 
at com.amazonaws.auth.AWS4Signer.sign(AWS4Signer.java:168) 
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:814) 
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:607) 
at com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:376) 
at com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:338) 
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:287) 
at com.amazonaws.services.ec2.AmazonEC2Client.invoke(AmazonEC2Client.java:11132) 
at com.amazonaws.services.ec2.AmazonEC2Client.runInstances(AmazonEC2Client.java:10657) 
at cloudSteuerung.AmazonWebServices.create(AmazonWebServices.java:33) 
at de.bla.ccu.Test.main(Test.java:16) 

den Abhängigkeitsbaumes von Maven Überprüfung mir mehr joda Abhängigkeiten bemerkt. AWS scheint Version 2.8.1 zu benötigen, also habe ich es explizit in der pom-Datei hinzugefügt, aber der Fehler tritt immer noch auf. Ich habe mehrere Versionen von Joda ausprobiert, aber keine Version scheint richtig zu funktionieren. Kann mir jemand helfen? Ich versuche nur das AWS sdk EC2 Beispiel auszuführen ...

dependency tree

Antwort

1

ich dieses Problem erfahren, wenn unsere AWS Abhängigkeit mit dem aws-java-sdk artifactId erklärt. z.B.

<dependency> 
    <groupId>com.amazonaws</groupId> 
    <artifactId>aws-java-sdk</artifactId> 
    <version>x.y.z</version> 
</dependency> 

Wir änderten zu importieren die AWS-Java-SDK-BOM Abhängigkeit, as recommended by Amazon, z.B.

<dependency> 
    <groupId>com.amazonaws</groupId> 
    <artifactId>aws-java-sdk-bom</artifactId> 
    <version>x.y.z</version> 
    <type>pom</type> 
    <scope>import</scope> 
</dependency> 

und dann unsere Komponentenabhängigkeiten einzeln deklarieren, z.

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

Dadurch konnte Maven die korrekte joda-Zeitabhängigkeit für die aws-sdk ermitteln und das Problem beheben.

Verwandte Themen