1.出现Exception in thread "main" java.lang.NoSuchMethodError:
solution:把pom文件中的kafka stremas的版本号要与kafka安装的版本号改为一致。可能你在参考网上的示例代码时遇到很多都是老版本的API,他们使用的一些方法和类可能和你安装的新版本的不太一样,所以这个时候就要参考官方API中的示例。当你按照自己的新版本的版本号引入依赖时,会发现网上的一些类你无法导入,那是因为新版本中的有些类和用法已经更新了。
2.出现java.lang.UnsatisfiedLinkError错误:
Exception in thread "mywordcount-d769f4f5-0d7a-43cb-8e94-7a3d20a9479c-StreamThread-1" java.lang.UnsatisfiedLinkError: C:\Users\wyhui\AppData\Local\Temp\librocksdbjni5214003097244488655.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at org.rocksdb.NativeLibraryLoader.loadLibraryFromJar(NativeLibraryLoader.java:78)
at org.rocksdb.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:56)
at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:64)
at org.rocksdb.RocksDB.<clinit>(RocksDB.java:35)
at org.rocksdb.Options.<clinit>(Options.java:25)
at org.apache.kafka.streams.state.internals.RocksDBStore.openDB(RocksDBStore.java:114)
at org.apache.kafka.streams.state.internals.RocksDBStore.init(RocksDBStore.java:171)
at org.apache.kafka.streams.state.internals.ChangeLoggingKeyValueBytesStore.init(ChangeLoggingKeyValueBytesStore.java:42)
at org.apache.kafka.streams.state.internals.CachingKeyValueStore.init(CachingKeyValueStore.java:64)
at org.apache.kafka.streams.state.internals.MeteredKeyValueStore.init(MeteredKeyValueStore.java:116)
at org.apache.kafka.streams.processor.internals.AbstractTask.registerStateStores(AbstractTask.java:234)
at org.apache.kafka.streams.processor.internals.StreamTask.initializeStateStores(StreamTask.java:253)
at org.apache.kafka.streams.processor.internals.AssignedTasks.initializeNewTasks(AssignedTasks.java:75)
at org.apache.kafka.streams.processor.internals.TaskManager.updateNewAndRestoringTasks(TaskManager.java:318)
at org.apache.kafka.streams.processor.internals.StreamThread.runOnce(StreamThread.java:839)
at org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:777)
at org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:747)
solution:在电脑上安装visual c++ redistributable for visual studio 2015,安装步骤很简单,直接下一步就好了。
https://www.microsoft.com/en-us/download/details.aspx?id=48145
安装完成后,再运行程序就会发现异常消失。