gpt4 book ai didi

java - scala/Serializable NoClassDefFoundError (RMI w/Scala)

转载 作者:搜寻专家 更新时间:2023-11-01 03:26:28 28 4
gpt4 key购买 nike

已关注 this tutorial在 RMI for Java 上,试图将其翻译成 Scala。我使用 trait 代替 interface,并且注释方法以指示抛出 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

更新:将 scala.Serializable 替换为 java.io.Serializable 并且一切正常。但是,这是解决问题的方法,而不是解决问题。根据 Scala API,scala.Serializable extends java.io.Serializable 所以类路径有些问题...

最佳答案

Scala 将代码编译为 Java 类,但是当您以任何方式使用标准库时,您还需要在类路径中包含 Scala 运行时库。

换句话说,您需要在 java-cp 参数中包含 /path/to/scala-library.jar调用。

关于java - scala/Serializable NoClassDefFoundError (RMI w/Scala),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12703061/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com