我正在关注同时用于Linux和Windows的this tutorial。在Step 7处,我在尝试运行时遇到Java异常:
>bin\windows\connect-standalone.bat config\connect-standalone.properties config\connect-file-source.properties config\connect-file-sink.properties
例外是:
[2019-05-13 13:00:20,145] WARN无法获取姓名的类型 任何类加载器的org.osgi.framework.BundleListener (org.reflections.Reflections)org.reflections.ReflectionsException: 无法获取名称为org.osgi.framework.BundleListener的类型 在org.reflections.ReflectionUtils.forName(ReflectionUtils.java:390) 在org.reflections.Reflections.expandSuperTypes(Reflections.java:381) 在org.reflections.Reflections。(Reflections.java:126) 在org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader $ InternalReflections(DelegatingClassLoader.java:400)处 在org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanPluginPath(DelegatingClassLoader.java:299) 在org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanUrlsAndAddPlugins(DelegatingClassLoader.java:237) 在org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initPluginLoader(DelegatingClassLoader.java:185) 在org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initLoaders(DelegatingClassLoader.java:178) 在org.apache.kafka.connect.runtime.isolation.Plugins(Plugins.java:61) 在org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:78) 造成原因:java.lang.ClassNotFoundException: org.osgi.framework.BundleListener 在java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:349) 在java.lang.ClassLoader.loadClass(ClassLoader.java:357) 在org.reflections.ReflectionUtils.forName(ReflectionUtils.java:388) ...还有9个
我正在Windows上工作。
答案 0 :(得分:1)
因此,我的test.txt
文件中包含json数据,并运行以上命令以获取test.sink.txt
文件中的输出。我遇到了与上述相同的错误,但是当我检查test.sink.txt
文件时,令人惊讶的是json数据是由kafka写入的。我在test.txt
文件中有几条不正确的json记录,在输出接收器文件中被忽略了。
在上述命令的参数中提供的属性文件中,可以更改输入/输出文件的名称(在这种情况下为test.txt
/ test.sink.txt
)。
TLDR :即使cmd显示了堆栈跟踪/警告,该功能似乎仍然有效。数据从输入文件到主题 输出文件。