【问题标题】:storm—clojure.lang.Compiler$CompilerException风暴—clojure.lang.Compiler$CompilerException
【发布时间】:2016-12-28 11:53:48
【问题描述】:

我在第一个storm&kafka例子中就遇到了这个问题,好像是缺少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]

...

【问题讨论】:

    标签: clojure apache-kafka apache-storm


    【解决方案1】:

    看起来您缺少一个依赖项。尝试将此添加到storm/topology/MyKafkaTopology -

    import com.esotericsoftware.kryo.io.Input;
    

    【讨论】:

    • 谢谢你的建议。但是没有用。我刚刚解决了这个问题。是因为我用maven帮我管理项目,当我用maven帮我下载的时候storm-core-0.9.1-incubating.jar 的依赖。它没有正常工作。我在pom.xml中删除了storm-core-0.9.1-incubating.jar的依赖,并将storm-0.9.1-incubating的lib资源中的所有jar都添加进去了。然后项目运行良好。再次感谢回答我的问题。
    猜你喜欢
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    相关资源
    最近更新 更多