为什么我不能运行使用此命令风暴启动的例子吗?(Why can't I run the exa

2019-10-18 05:12发布

我不得不使用前风暴或Maven没有经验,和我的工作我的启动项目。 当我编译上传即使用该给那里的命令git的网站上的启动项目:

mvn compile exec:java -Dexec.classpathScope=compile -Dexec.mainClass=storm.starter.ExclamationTopology

我可以运行感叹号拓扑类,但是当我使用这个命令:

java -cp ./target/storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar storm.starter.ExclamationTopology

我不能运行它。

顺便说一句,我得到了Apache的网站从行家教程第二个命令有人能指出我究竟做错了什么?

PS:这是错误http://pastebin.com/A1PQbB3r

Answer 1:

你的POM中可能有作为“的”风暴依赖的范围,这意味着它会在运行时类路径,而不是在JAR-与依赖关系。 尝试改变范围“编译”



Answer 2:

你打了java.lang.NoClassDefFoundError风暴以来罐子不是在你的类路径中。 对于你的第二个命令,把风暴罐子,在类路径中的风暴/ lib和预期它应该工作。



Answer 3:

风暴依赖的范围应该取决于你在本地模式或群集是否正在运行是不同的。

对于本地模式下,你需要设置范围为“编译”或离开标签空的,因为范围默认为“编译”。

为了提交您的拓扑结构,你需要设置为“提供”范围集群,否则风暴罐子将被打包拓扑罐子内部署到群集时会出现在classpath 2个风暴罐子:里面的一个您的拓扑结构和风暴的安装目录里面的一个。



文章来源: Why can't I run the example from storm-starter using this command?