主类:storm.starter.WordCountTopology。程序将会退出

时间:2014-01-13 04:13:15

标签: java maven apache-storm

我在这个问题上需要你的帮助 安装风暴后好 什么是使用maven的有用之处? 我用它,我成功地建立了风暴启动器 但它是否在构建后创建了一个jar文件?

当我使用

st@ubuntu:~/storm-0.8.2$ bin/storm jar storm-starter.jar storm.starter.WordCountTopology wordcount

得到了这个

  

引起:java.lang.ClassNotFoundException:   storm.starter.WordCountTopology at   java.net.URLClassLoader $ 1.run(未知来源)at   java.security.AccessController.doPrivileged(Native Method)at   java.net.URLClassLoader.findClass(未知来源)at   java.lang.ClassLoader.loadClass(未知来源)at   sun.misc.Launcher $ AppClassLoader.loadClass(未知来源)at   java.lang.ClassLoader.loadClass(未知来源)找不到   主要类:storm.starter.WordCountTopology。程序将退出。

当我使用这个命令时

st@ubuntu:~/storm-0.8.2$ mvn -version

得到了这个

  

Apache Maven 2.2.1(rdebian-8)Java版本:1.6.0_38 Java主页:   /usr/lib/jvm/jdk1.6.0_38/jre默认语言环境:en_US,平台编码:   UTF-8操作系统名称:" linux"版本:" 3.5.0-23-generic" arch:" i386"   家庭:" unix"   我正在研究ubnutu 12.04 LTS

1 个答案:

答案 0 :(得分:0)

第一步是创建一个jar文件,转到包含pom文件的文件夹并执行:

mvn -f m2-pom.xml package

然后它会创建一个名为target/的文件夹,您可以在其中找到jar文件

然后启动拓扑,转到pom文件所在的文件夹。

并做类似的事情:

storm jar target/storm-starter.jar storm.starter.WordCountTopology

jar文件名取决于您在pom文件中的内容。在ubuntu中输入target/st之类的内容,然后按Tab键,它会显示选项。对于另一部分,您可以检查java文件中的第一行,它应该类似于:

package storm.starter;