Java RMI ClassNotFoundException

Java RMI ClassNotFoundException,java,rmi,classnotfound,Java,Rmi,Classnotfound,我有一个RMI程序,它在我的计算机上运行得很好,但是当我在学校的计算机上运行它时,我得到了一个正在扩展Remote的类的ClassNotFoundException。我看过一些类似的问题,我的错误几乎是一样的,但那里提供的解决方案对我不起作用。我无法将参数传递给RMI注册表,因为它已在运行,并与其他学生共享。我试着在我的程序中设置system.property,但是没有用。我也试过使用rmic,但也没用 这是来自Exception.getMessage()的错误消息: 这些问题都是同样类型的问题

我有一个RMI程序,它在我的计算机上运行得很好,但是当我在学校的计算机上运行它时,我得到了一个正在扩展Remote的类的ClassNotFoundException。我看过一些类似的问题,我的错误几乎是一样的,但那里提供的解决方案对我不起作用。我无法将参数传递给RMI注册表,因为它已在运行,并与其他学生共享。我试着在我的程序中设置system.property,但是没有用。我也试过使用rmic,但也没用

这是来自Exception.getMessage()的错误消息:

这些问题都是同样类型的问题

java.lang.ClassNotFoundException: 弦节点

在我看来,类“chordNote”不在类路径中。那是你的吗?如果是的话,您应该知道使用默认包是个坏主意,并且您的类名不遵循通常的Java命名约定。两者对我来说都是坏兆头

由于您没有发布任何代码,因此很难准确地判断出问题所在

但既然你是一名学生,我建议你重新开始处理这个问题。当人们说“它在这台机器上运行正常,但在那台机器上运行不正常”时,它告诉我,他们取决于某些他们可能无法完全理解的情况:

我无法将参数传递给RMI注册表 因为它已经在运行并且正在运行 与其他学生分享

那么,这是您试图将RMI服务部署到的共享计算机吗?我会和服务器和RMI存储库的所有者谈谈,看看如何将代码部署到那里

或者,您可以启动自己的实例,在默认端口之外的另一个端口上侦听

我试着设置system.property 在我的程序里,但那没有 救命啊

对不起,你指的是什么系统属性

我也尝试过使用rmic,但是 也不管用

如果要将代码从一台计算机移动到另一台计算机,为什么需要运行rmic

“不起作用”是什么样子的?可能路径设置不正确


抱歉,您的问题太模糊,无法回答。

问题是使用了另一个用户启动的RMI注册表。这意味着RMI注册表使用的类路径基于另一个用户环境。为了解决这个问题,我在另一个端口上启动了自己的RMI注册表

Server exception: RemoteException occurred in server thread; nested exception is:
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: chordNode