Kafka Connect:在Windows上无法获取名称为org.osgi.framework.BundleListener的类型

时间:2019-05-13 11:51:58

标签: apache-kafka apache-kafka-connect

我正在关注同时用于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上工作。

1 个答案:

答案 0 :(得分:1)

因此,我的test.txt文件中包含json数据,并运行以上命令以获取test.sink.txt文件中的输出。我遇到了与上述相同的错误,但是当我检查test.sink.txt文件时,令人惊讶的是json数据是由kafka写入的。我在test.txt文件中有几条不正确的json记录,在输出接收器文件中被忽略了。

在上述命令的参数中提供的属性文件中,可以更改输入/输出文件的名称(在这种情况下为test.txt / test.sink.txt)。

  

TLDR :即使cmd显示了堆栈跟踪/警告,该功能似乎仍然有效。数据从输入文件到主题   输出文件。