我一直在RMI上关注this tutorial,试图把它翻译成Scala。我不使用interface,而是使用trait,并且我注释了一些方法来指示抛出RemoteException。
我实现了所有的东西,并且得到了compilation step并严格遵循它,除了我用scalac代替了javac。
最后,在令人兴奋的last step上,运行它,我设置了安全策略,启动了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更新:用java.io.Serializable替换了scala.Serializable,一切正常。然而,这是一项绕过问题的工作,而不是解决问题。根据Scala API,scala.Serializable extends java.io.Serializable类路径出现了一些问题……
发布于 2012-10-03 18:05:29
Scala将代码编译成Java类,但是当您以任何方式使用标准库时,您还需要在类路径中包含Scala运行时库。
换句话说,您需要在java调用的-cp参数中使用/path/to/scala-library.jar。
https://stackoverflow.com/questions/12703061
复制相似问题