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
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