apache storm-classnotfoundexception

qxgroojn  于 2021-06-21  发布在  Storm
关注(0)|答案(1)|浏览(281)

我在试着让风暴开始工作。我试过邮件列表,但似乎没有什么吸引力。当我运行以下命令时:

$ mvn compile exec:java -Dstorm.topology=storm.starter.ExclamationTopology

我得到一个错误:

Error on initialization of server mk-worker
java.lang.RuntimeException: java.lang.ClassNotFoundException: backtype.storm.testing.TestWordSpout

我不是java开发人员,所以我不确定导入应该如何工作。我明白了 storm-core/src/jvm/backtype/storm/testing/TestWordSpout.java .
当我找到任何jar文件时,我看到:

./target/original-storm-starter-0.11.0-SNAPSHOT.jar
./target/storm-starter-0.11.0-SNAPSHOT.jar

当我检查那些jar文件时, TestWordSpout 不在那里。我在执行我的命令 ./examples/storm-starter 根据上述文件。
据我所知,我完全遵循了教程。osx el capitan 10.11.2、java 1.8.0、storm 0.9.5、maven 3.3.3。任何帮助都是很好的;我很高兴能够开始:)

dm7nw8vv

dm7nw8vv1#

通过maven运行storm拓扑不是一个好办法。你应该使用 bin/storm jar myJarFile.jar 在命令行上向集群提交拓扑(这也适用于本地模式)。
文件 ./target/original-storm-starter-0.11.0-SNAPSHOT.jar 以及 ./target/storm-starter-0.11.0-SNAPSHOT.jar 是标准的maven工件,不能用于向集群提交拓扑。
你可以用 maven-jar-plugin (我建议您开始——您可能需要使用 maven-dependency-plugin, too), maven程序集插件 , or maven shade插件 to assembly a correct 提交的jar文件。关于这个问题有很多疑问,所以我将不在这里提供更多细节。例如,您可以查看我的git存储库https://github.com/mjsax/aeolus/blob/master/monitoring/pom.xml

相关问题