我正在本地模式下运行一个简单的字数计算拓扑。当我使用intellij ide运行拓扑时,一切都正常工作,我从字符串中获得字数。但是,当我从mac的终端运行拓扑时,我得到错误:
A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: backtype/storm/topology/IRichSpout
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
我在正确的文件中使用了命令mvn包和storm jar target/wordcount-1.0-snapshot.jar com.microsoft.example.wordcounttopology。有什么想法吗?
1条答案
按热度按时间qjp7pelc1#
你需要设置
STORM_HOME
. 它找不到所需的jar,它应该在$STORM_HOME/lib
.或者,您可以通过指定
storm-core
中的依赖项pom.xml
作为<scope>compile</scope>
.