风暴clojure.lang.Compiler $ CompilerException

时间:2016-08-22 03:14:35

标签: clojure apache-kafka apache-storm

我在第一次风暴和卡夫卡的例子中遇到了这个问题。看来这是因为clojure-1.4.0.jar缺失了。但我已将它添加到项目的构建路径中。

9649 [main] ERROR org.apache.zookeeper.server.NIOServerCnxn - Thread Thread[main,5,main] died
java.lang.ExceptionInInitializerError: null
    at storm.topology.MyKafkaTopology.main(MyKafkaTopology.java:62) ~[classes/:na]
Caused by: clojure.lang.Compiler$CompilerException: java.lang.NoClassDefFoundError: com/esotericsoftware/kryo/io/Input, compiling:(backtype/storm/daemon/executor.clj:481)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6462) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyze(Compiler.java:6262) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6443) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyze(Compiler.java:6262) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyze(Compiler.java:6223) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2642) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6455) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyze(Compiler.java:6262) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.access$100(Compiler.java:37) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:5883) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6455) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyze(Compiler.java:6262) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6443) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyze(Compiler.java:6262) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyze(Compiler.java:6223) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5618) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5054) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3674) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6453) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyze(Compiler.java:6262) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6443) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyze(Compiler.java:6262) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.access$100(Compiler.java:37) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:5883) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6455) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyze(Compiler.java:6262) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6443) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyze(Compiler.java:6262) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler.analyze(Compiler.java:6223) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5618) ~[clojure-1.4.0.jar:na]
    at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:5919) ~[clojure-1.4.0.jar:na]

...

1 个答案:

答案 0 :(得分:0)

看起来你错过了一个依赖项。尝试将其添加到storm/topology/MyKafkaTopology -

import com.esotericsoftware.kryo.io.Input;