2

我怀疑这可能是某种版本控制问题,但仍然无法深究。我正在尝试使用基于https://github.com/velvia/ScalaStorm的 Scala DSL 在 Scala 2.10 中设置 play2.1/storm 项目。我将 DSL 文件复制并编辑到我的项目中。我的问题是在尝试从同一个项目中实现 WordCountTopology 示例时出现的。示例的直接复制/粘贴可以正常编译,并且 eclipse 不会抱怨任何事情,但是在运行 main 函数时,我得到了 classNotFoundExceptions

这些类被明确定义,并注释掉使用它们的行(builder.setSpout 和 builder.setBolt 行)并创建 ClassNotFound 类的新对象(RichStormSpout、WordCount、SplitSentence),尽管它没有做任何事情,编译并运行得很好。

任何帮助深表感谢

编辑:这是一个堆栈跟踪:

│java.lang.RuntimeException: java.lang.ClassNotFoundException: storm.WordCount                                                                     
│        at backtype.storm.utils.Utils.deserialize(Utils.java:70) ~[storm-0.8.2.jar:na]                                                                                              
│        at backtype.storm.utils.Utils.getSetComponentObject(Utils.java:199) ~[storm-0.8.2.jar:na]                                                                                                               
│        at backtype.storm.daemon.task$get_task_object.invoke(task.clj:56) ~[storm-0.8.2.jar:na]                                                                                      
│        at backtype.storm.daemon.task$mk_task_data$fn__3766.invoke(task.clj:158) ~[storm-0.8.2.jar:na]                                                                               
│        at backtype.storm.util$assoc_apply_self.invoke(util.clj:731) ~[storm-0.8.2.jar:na]                                                                                           
│        at backtype.storm.daemon.task$mk_task_data.invoke(task.clj:152) ~[storm-0.8.2.jar:na]                                                                                        
│Caused by: java.lang.ClassNotFoundException: storm.WordCount                                                                                                                         
│        at java.net.URLClassLoader$1.run(URLClassLoader.java:202) ~[na:1.6.0_35]                                                                                                     
│        at java.security.AccessController.doPrivileged(Native Method) ~[na:1.6.0_35]                                                                                                 
│        at java.net.URLClassLoader.findClass(URLClassLoader.java:190) ~[na:1.6.0_35]                                                                                                 
│        at java.lang.ClassLoader.loadClass(ClassLoader.java:306) ~[na:1.6.0_35]                                                                                                      
│        at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ~[na:1.6.0_35]                                                                                                      
│        at sbt.PlayCommands$$anonfun$53$$anonfun$55$$anon$2.loadClass(PlayCommands.scala:535) ~[na:na]    
4

0 回答 0