2

J'utilise aw depuis les 6 derniers mois et j'ai développé une application qui met la requête batch à firehose. Ça fonctionnait bien jusqu'à aujourd'hui, mais quand je me suis redéployé dans mon système local, il est dit java.lang.ClassNotFoundException: com.amazonaws.ClientConfigurationFactory. Je sais ce que cette erreur signifie. Mais ma question est pourquoi j'ai eu cette exception aujourd'hui? J'utilise la dépendance suivante dans mon projet: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> 

Et je cherchai ClientConfigurationFactory classe, mais ne trouve nulle part (signifie nulle part dans ma dépendance).

Ma question est où est située cette classe et pourquoi j'ai eu cette erreur seulement aujourd'hui? Parce que je n'ai pas fait face à cette erreur dans mon développement initial (6 mois avant). Je n'ai changé aucune dépendance/code aujourd'hui. Et je n'utilise pas cette classe dans mon projet (j'ai un doute aws-sdk peut-être utilisé à l'intérieur).

Remarque: Je ne peux pas demander Est-ce que j'ai manqué une dépendance? Parce que cela fonctionnait bien avant.

S'il vous plaît commenter si vous avez un doute. Merci.

+0

Certainement là: http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/ClientConfigurationFactory.html – ManoDestra

+0

@ManoDestra Oui cette classe est là mais j'ai vérifié dans ma dépendance je n'ai pas trouvé c'est pourquoi je demande. – Yubaraj

+0

Oui. Juste une question de version alors :) – ManoDestra

Répondre

6

Ceci est probablement dû au fait que vous avez une incompatibilité des versions AWS SDK que vous incluez. Vous utilisez une combinaison de SDK version 1.10.6, 1.10.71, 1.10.37 et RELEASE. Vous demandez des problèmes pour mélanger les versions comme vous le faites. Changez tous ceux à la même version et votre problème disparaîtra probablement.

+0

Mais cela fonctionnait avant avec ces versions. J'ai utilisé la version sdk '1.10.72' aujourd'hui pour mon autre projet. Et j'ai pensé que c'était peut-être mon problème/conflit de dépendance maven donc j'ai effacé mon dossier .m2 et j'ai essayé à nouveau mais je n'ai pas travaillé. – Yubaraj

+1

Vous réalisez avec 'RELEASE' en tant que version que vous êtes potentiellement en train de tirer une nouvelle version chaque fois que vous faites une construction. Donc, travailler avec cette différence de versions n'est pas une indication qu'il continuera à fonctionner. Vous devez corriger les dépendances de la version d'AWS SDK pour qu'elles soient identiques. –

+0

Oui votre commentaire a du sens. Je vérifierai. – Yubaraj