2016-06-09 5 views
1

Ich folge dem http://docs.aws.amazon.com/streams/latest/dev/learning-kinesis-module-one.html Tutorial über Kinesis Streams.AWS Kinesis-Client schlägt mit java.lang.NoClassDefFoundError fehl

Ich habe zwei Pakete erstellt, eins mit dem Produzenten und eins mit dem Verbraucher. Ich kann Daten korrekt erstellen und kann über das Metrik-Dashboard sehen, dass die Daten in den Stream gelangen.

Wenn ich meine Verbraucher laufen, erhalte ich den folgenden Stack-Trace:

1246 [main] DEBUG com.amazonaws.services.kinesis.samples.stocktrades.processor.StockTradesProcessor - Caught throwable while processing data. 
java.lang.NoClassDefFoundError: com/amazonaws/util/json/JSONObject 
at com.amazonaws.services.kinesis.leases.impl.Lease.toString(Lease.java:229) 
at java.lang.String.valueOf(Unknown Source) 
at java.lang.StringBuilder.append(Unknown Source) 
at com.amazonaws.services.kinesis.leases.impl.LeaseManager.createLeaseIfNotExists(LeaseManager.java:281) 
at com.amazonaws.services.kinesis.clientlibrary.lib.worker.ShardSyncer.syncShardLeases(ShardSyncer.java:127) 
at com.amazonaws.services.kinesis.clientlibrary.lib.worker.ShardSyncer.checkAndCreateLeasesForNewShards(ShardSyncer.java:88) 
at com.amazonaws.services.kinesis.clientlibrary.lib.worker.ShardSyncTask.call(ShardSyncTask.java:68) 
at com.amazonaws.services.kinesis.clientlibrary.lib.worker.MetricsCollectingTaskDecorator.call(MetricsCollectingTaskDecorator.java:49) 
at com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker.initialize(Worker.java:395) 
at com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker.run(Worker.java:330) 
at com.amazonaws.services.kinesis.samples.stocktrades.processor.StockTradesProcessor.main(StockTradesProcessor.java:102) 
Caused by: java.lang.ClassNotFoundException: com.amazonaws.util.json.JSONObject 
at java.net.URLClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
... 11 more 
+0

Das sieht wie ein Problem mit Ihrem Klassenpfad aus. Haben Sie das Jar mit 'com.amazonaws.util.json.JSONObject' und haben Sie verifiziert, dass es auf Ihrem Klassenpfad ist? Wie starten Sie Ihren Verbraucher? – Krease

Antwort

2

Ich habe das gleiche Problem. Ändern Sie einfach die Version von aws-sdk in 1.10.x. Ich verwendete 1.10.7 Möglicherweise arbeiten Sie mit aws-sdk Version 1.11.x