2016-04-22 24 views
2

Ich benutze aws seit den letzten 6 Monaten und ich entwickelte eine Anwendung, die Stapelanforderung an firehose setzt. Es funktionierte bis heute gut, aber wenn ich in meinem lokalen System umstellte, sagt es java.lang.ClassNotFoundException: com.amazonaws.ClientConfigurationFactory. Ich weiß, was dieser Fehler bedeutet. Aber meine Frage ist warum habe ich heute diese Ausnahme? Ich verwende folgende Abhängigkeit in meinem Projekt:java.lang.ClassNotFoundException: com.amazonaws.ClientConfigurationFactory

<dependency> 
     <groupId>com.amazonaws</groupId> 
     <artifactId>aws-java-sdk</artifactId> 
    <!-- <version>1.10.72</version> --> // I used this version today only for testing purpose 
     <version>1.10.6</version> 
    </dependency> 
    <!-- <dependency> 
     <groupId>com.amazonaws</groupId> 
     <artifactId>aws-java-sdk-s3</artifactId> 
     <version>1.10.71</version> 
    </dependency> --> 
    <dependency> 
     <groupId>com.amazonaws</groupId> 
     <artifactId>aws-java-sdk-core</artifactId> 
     <version>1.10.37</version> 
     <optional>false</optional> 
    </dependency> 
    <dependency> 
     <groupId>com.amazonaws</groupId> 
     <artifactId>aws-java-sdk-kinesis</artifactId> 
     <version>RELEASE</version> 
    </dependency> 

Und ich gesucht ClientConfigurationFactory Klasse aber nicht überall finden (überall bedeutet in meiner Abhängigkeit).

Meine Frage ist wo befindet sich diese Klasse und warum habe ich diesen Fehler nur heute? Weil ich diesen Fehler in meiner anfänglichen Entwicklung (6 Monate vorher) nicht hatte. Ich habe heute keine Abhängigkeiten/Code geändert. Und ich benutze diese Klasse nicht in meinem Projekt (ich habe Zweifel, aws-sdk kann innen verwendet haben).

Hinweis: Ich kann nicht fragen Verpasse ich irgendeine Abhängigkeit? Weil es vorher gut funktionierte.

Bitte Kommentar, wenn Sie irgendwelche Zweifel haben. Vielen Dank.

+0

Definitiv gibt es: http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/ClientConfigurationFactory.html – ManoDestra

+0

@ManoDestra Ja, diese Klasse ist da, aber ich habe in meiner Abhängigkeit überprüft, die ich nicht gefunden habe warum ich frage. – Yubaraj

+0

Ja. Nur ein Versions-Problem dann :) – ManoDestra

Antwort

6

Dies liegt höchstwahrscheinlich daran, dass die von Ihnen verwendeten AWS SDK-Versionen nicht übereinstimmen. Sie verwenden eine Kombination aus SDK Version 1.10.6, 1.10.71, 1.10.37 und RELEASE. Sie bitten um Probleme beim Mischen der Versionen, so wie Sie es tun. Ändern Sie alle diese auf die gleiche Version und Ihr Problem wird wahrscheinlich verschwinden.

+0

Aber es hat vorher mit diesen Versionen funktioniert. Ich habe heute die SDK-Version '1.10.72' für mein anderes Projekt verwendet. Und ich dachte, es könnte mein Abhängigkeitsproblem/Konflikt sein, also habe ich meinen .m2-Ordner gelöscht und es erneut versucht, aber nicht funktioniert. – Yubaraj

+1

Sie realisieren mit 'RELEASE' als eine Version, die Sie jedes Mal, wenn Sie einen Build erstellen, in eine neue Version ziehen. Wenn man also vorher mit diesem Missverhältnis von Versionen arbeitet, gibt es keinen Hinweis darauf, dass es weiter funktionieren wird. Sie müssen die Versionsabhängigkeiten Ihrer AWS SDK an alle anpassen. –

+0

Ja, Ihr Kommentar hat Sinn. Ich werde überprüfen. – Yubaraj