關注RMI for Java的this tutorial,試圖將其轉換爲Scala。而不是interface
我使用trait
,我註釋的方法來表明投擲RemoteException
。scala/Serializable NoClassDefFoundError(RMI w/Scala)
得到了一切執行,並得到了compilation step並嚴格遵循,除了代替javac
我使用scalac
。
最後,運行它,我設置的安全策略,啓動rmiregistry
,去啓動我的服務器和被打到這個:
java.rmi.ServerError: Error occurred in server thread; nested exception is:
java.lang.NoClassDefFoundError: scala/Serializable
可能是什麼造成的?我將他們的命令從java
更改爲scala
,但其他所有內容都是相同的(以用戶名和文件路徑爲模)。如何找不到scala/Serializable
?
可能相關:
$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.4) (rhel-1.49.1.11.4.el6_3-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
$ scala -version
Scala code runner version 2.9.2 -- Copyright 2002-2011, LAMP/EPFL
UPDATE:替換scala.Serializable
與java.io.Serializable
和一切工作。但是,這是解決問題的一項工作,反對解決問題。根據斯卡拉API,scala.Serializable extends java.io.Serializable
所以隨着類路徑的東西越來越模糊......
我曾經用'scala'代替'java'來調用這個類,但是Josh Suereth告訴我要做同樣的事情,我運行了這個:'java -cp「./:~/public_html/src /server/classes/compute.jar:/cs/mutant/adelbert_chang/scala-2.9.2/lib/scala-library.jar「-Djava.rmi.server.codebase = http://cs.ucsb.edu/~ adelbert_chang/src/server/classes/compute.jar -Djava.rmi.server.hostname = blackbird.cs.ucsb.edu -Djava.security.policy = server.policy system.ComputerImpl',但同樣的問題... – adelbertc