Java Storm 2.0 worker在启动时出现异常,且Storm kafka不依赖pom

Java Storm 2.0 worker在启动时出现异常,且Storm kafka不依赖pom,java,maven,apache-storm,Java,Maven,Apache Storm,根据storm 2.0发布文档,storm kafka已被删除,用户必须移动到storm kafka客户端 所以,我从pom中删除了对storm kafka的依赖。我们已经有了storm kafka客户端对pom的依赖性。构建成功 但是,当使用storm jar CLI命令启动拓扑以storm时,我们会遇到以下异常。我还可以在storm lib文件夹中看到json-simple-1.1.jar,我们不应该得到NoClassDef异常 java.lang.Error: java.lang.NoCl

根据storm 2.0发布文档,storm kafka已被删除,用户必须移动到storm kafka客户端

所以,我从pom中删除了对storm kafka的依赖。我们已经有了storm kafka客户端对pom的依赖性。构建成功

但是,当使用storm jar CLI命令启动拓扑以storm时,我们会遇到以下异常。我还可以在storm lib文件夹中看到json-simple-1.1.jar,我们不应该得到NoClassDef异常

java.lang.Error: java.lang.NoClassDefFoundError: org/json/simple/parser/ParseException
    at org.apache.storm.utils.Utils.handleUncaughtException(Utils.java:647) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.utils.Utils.handleUncaughtException(Utils.java:626) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.utils.Utils.lambda$createDefaultUncaughtExceptionHandler$2(Utils.java:982) ~[storm-client-2.0.0.jar:2.0.0]
    at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1057) [?:1.8.0_191]
    at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1052) [?:1.8.0_191]
    at java.lang.Thread.dispatchUncaughtException(Thread.java:1959) [?:1.8.0_191]
Caused by: java.lang.NoClassDefFoundError: org/json/simple/parser/ParseException
    at java.lang.Class.getDeclaredFields0(Native Method) ~[?:1.8.0_191]
    at java.lang.Class.privateGetDeclaredFields(Class.java:2583) ~[?:1.8.0_191]
    at java.lang.Class.getDeclaredField(Class.java:2068) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1857) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:79) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass$3.run(ObjectStreamClass.java:506) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass$3.run(ObjectStreamClass.java:494) ~[?:1.8.0_191]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:494) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:391) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:681) ~[?:1.8.0_191]
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1885) ~[?:1.8.0_191]
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751) ~[?:1.8.0_191]
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042) ~[?:1.8.0_191]
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573) ~[?:1.8.0_191]
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431) ~[?:1.8.0_191]
    at org.apache.storm.utils.Utils.javaDeserialize(Utils.java:542) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.utils.Utils.getSetComponentObject(Utils.java:915) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.daemon.Task.mkTaskObject(Task.java:271) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.daemon.Task.<init>(Task.java:88) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.executor.Executor.mkExecutor(Executor.java:194) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.daemon.worker.Worker.loadWorker(Worker.java:218) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.daemon.worker.Worker.lambda$start$0(Worker.java:166) ~[storm-client-2.0.0.jar:2.0.0]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_191]
    at javax.security.auth.Subject.doAs(Subject.java:422) ~[?:1.8.0_191]
    at org.apache.storm.daemon.worker.Worker.start(Worker.java:165) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.daemon.worker.Worker.main(Worker.java:129) ~[storm-client-2.0.0.jar:2.0.0]
Caused by: java.lang.ClassNotFoundException: org.json.simple.parser.ParseException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_191]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_191]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[?:1.8.0_191]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_191]
    at java.lang.Class.getDeclaredFields0(Native Method) ~[?:1.8.0_191]
    at java.lang.Class.privateGetDeclaredFields(Class.java:2583) ~[?:1.8.0_191]
    at java.lang.Class.getDeclaredField(Class.java:2068) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1857) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:79) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass$3.run(ObjectStreamClass.java:506) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass$3.run(ObjectStreamClass.java:494) ~[?:1.8.0_191]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:494) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:391) ~[?:1.8.0_191]
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:681) ~[?:1.8.0_191]
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1885) ~[?:1.8.0_191]
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751) ~[?:1.8.0_191]
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042) ~[?:1.8.0_191]
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573) ~[?:1.8.0_191]
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431) ~[?:1.8.0_191]
    at org.apache.storm.utils.Utils.javaDeserialize(Utils.java:542) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.utils.Utils.getSetComponentObject(Utils.java:915) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.daemon.Task.mkTaskObject(Task.java:271) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.daemon.Task.<init>(Task.java:88) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.executor.Executor.mkExecutor(Executor.java:194) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.daemon.worker.Worker.loadWorker(Worker.java:218) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.daemon.worker.Worker.lambda$start$0(Worker.java:166) ~[storm-client-2.0.0.jar:2.0.0]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_191]
    at javax.security.auth.Subject.doAs(Subject.java:422) ~[?:1.8.0_191]
    at org.apache.storm.daemon.worker.Worker.start(Worker.java:165) ~[storm-client-2.0.0.jar:2.0.0]
    at org.apache.storm.daemon.worker.Worker.main(Worker.java:129) ~[storm-client-2.0.0.jar:2.0.0]```
java.lang.Error:java.lang.NoClassDefFoundError:org/json/simple/parser/ParseException
在org.apache.storm.utils.utils.handleUncaughtException(utils.java:647)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.utils.utils.handleUncaughtException(utils.java:626)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.utils.utils.lambda$createDefaultUncaughtExceptionHandler$2(utils.java:982)~[storm-client-2.0.0.jar:2.0.0]
在java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1057)[?:1.8.0_191]
在java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1052)[?:1.8.0_191]
在java.lang.Thread.dispatchUncaughtException(Thread.java:1959)[?:1.8.0_191]
原因:java.lang.NoClassDefFoundError:org/json/simple/parser/ParseException
在java.lang.Class.getDeclaredFields0(本机方法)~[?:1.8.0_191]
在java.lang.Class.privateGetDeclaredFields(Class.java:2583)~[?:1.8.0_191]
在java.lang.Class.getDeclaredField(Class.java:2068)~[?:1.8.0_191]
在java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1857)~[?:1.8.0_191]
在java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:79)~[?:1.8.0_191]
在java.io.ObjectStreamClass$3.run(ObjectStreamClass.java:506)~[?:1.8.0_191]
在java.io.ObjectStreamClass$3.run(ObjectStreamClass.java:494)~[?:1.8.0_191]
在java.security.AccessController.doPrivileged(本机方法)~[?:1.8.0_191]
在java.io.ObjectStreamClass.(ObjectStreamClass.java:494)~[?:1.8.0_191]
在java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:391)~[?:1.8.0_191]
在java.io.ObjectStreamClass.InitNoProxy(ObjectStreamClass.java:681)~[?:1.8.0_191]
在java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1885)~[?:1.8.0\u 191]
在java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751)~[?:1.8.0191]
在java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042)~[?:1.8.0191]
在java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)~[?:1.8.0\u 191]
在java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)~[?:1.8.0_191]
在org.apache.storm.utils.utils.javaDeserialize(utils.java:542)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.utils.utils.getSetComponentObject(utils.java:915)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.daemon.Task.mkTaskObject(Task.java:271)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.daemon.Task.(Task.java:88)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.executor.executor.mkExecutor(executor.java:194)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.daemon.worker.worker.loadWorker(worker.java:218)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.daemon.worker.worker.lambda$start$0(worker.java:166)~[storm-client-2.0.0.jar:2.0.0]
在java.security.AccessController.doPrivileged(本机方法)~[?:1.8.0_191]
在javax.security.auth.Subject.doAs(Subject.java:422)~[?:1.8.0_191]
在org.apache.storm.daemon.worker.worker.start(worker.java:165)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.daemon.worker.worker.main(worker.java:129)~[storm-client-2.0.0.jar:2.0.0]
原因:java.lang.ClassNotFoundException:org.json.simple.parser.ParseException
在java.net.URLClassLoader.findClass(URLClassLoader.java:382)~[?:1.8.0_191]
在java.lang.ClassLoader.loadClass(ClassLoader.java:424)~[?:1.8.0_191]
在sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)~[?:1.8.0191]
在java.lang.ClassLoader.loadClass(ClassLoader.java:357)~[?:1.8.0_191]
在java.lang.Class.getDeclaredFields0(本机方法)~[?:1.8.0_191]
在java.lang.Class.privateGetDeclaredFields(Class.java:2583)~[?:1.8.0_191]
在java.lang.Class.getDeclaredField(Class.java:2068)~[?:1.8.0_191]
在java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1857)~[?:1.8.0_191]
在java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:79)~[?:1.8.0_191]
在java.io.ObjectStreamClass$3.run(ObjectStreamClass.java:506)~[?:1.8.0_191]
在java.io.ObjectStreamClass$3.run(ObjectStreamClass.java:494)~[?:1.8.0_191]
在java.security.AccessController.doPrivileged(本机方法)~[?:1.8.0_191]
在java.io.ObjectStreamClass.(ObjectStreamClass.java:494)~[?:1.8.0_191]
在java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:391)~[?:1.8.0_191]
在java.io.ObjectStreamClass.InitNoProxy(ObjectStreamClass.java:681)~[?:1.8.0_191]
在java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1885)~[?:1.8.0\u 191]
在java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751)~[?:1.8.0191]
在java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042)~[?:1.8.0191]
在java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)~[?:1.8.0\u 191]
在java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)~[?:1.8.0_191]
在org.apache.storm.utils.utils.javaDeserialize(utils.java:542)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.utils.utils.getSetComponentObject(utils.java:915)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.daemon.Task.mkTaskObject(Task.java:271)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.daemon.Task.(Task.java:88)~[storm-client-2.0.0.jar:2.0.0]
在org.apache.storm.executor.executor.mkExecutor(executor.java:194)~[storm-client-2.0.0.jar:2.0.0]
在org.apache上
def get_classpath(extrajars, daemon=True, client=False):
    ret = get_wildcard_dir(STORM_DIR)
    if client:
        ret.extend(get_wildcard_dir(STORM_WORKER_LIB_DIR))
    else :
        ret.extend(get_wildcard_dir(STORM_LIB_DIR))
    ...