2

これはある種のバージョン管理の問題である可能性があると思われますが、それでもその根底には到達できません。https://github.com/velvia/ScalaStormに基づく Scala DSL を使用して、Scala 2.10 で play2.1/storm プロジェクトをセットアップしようとしています。DSL ファイルをプロジェクトにコピーして編集しました。同じプロジェクトから WordCountTopology の例を実装しようとすると、私の問題が発生します。例の直接コピー/貼り付けは正常にコンパイルされ、Eclipse は何も文句を言いませんが、メイン関数を実行すると、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