gpt4 book ai didi

java.rmi.ServerException : RemoteException occurred in server thread; ClassNotFoundException 异常

转载 作者:行者123 更新时间:2023-11-30 09:32:13 26 4
gpt4 key购买 nike

当我通过 eclipse 运行我的服务器代码时,出现以下异常:

java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: com.RMIInterface
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:413)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267)
at sun.rmi.transport.Transport$1.run(Transport.java:177)

我已经通过简单地在 cmd 行中键入“start rmiregistry”来启动 RMI Registry。打开一个新窗口,标题为“c:\Program Files\Java\jdk1.7.0\bin\rmiregistry.exe”。在这条路上只有我有 JDK。

我所有的 .class 文件都在这个路径中可用:D:\Workspace\Study\bin\com。

在 com 文件夹下,我有所有三个文件“RMIInterface、RMIServer、RMIClient”。

当我从 eclipse 运行服务器代码时,出现上述异常。(即)未找到 RMIInterface。但我把它放在同一个文件夹中。

我还应该做什么来运行服务器?

这是我的服务器代码:

RMIServer serRef = new RMIServer();
try {
RMIInterface inref = (RMIInterface)UnicastRemoteObject.exportObject(serRef, 0);
Registry reg = LocateRegistry.getRegistry();
reg.bind("ServerObj", inref); -------->Exception in this line
} catch (AlreadyBoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

最佳答案

我认为问题在于您访问界面的方式。

如您所说,Under the com folder I have all three files "RMIInterface, RMIServer,RMIClient".

如果所有文件都在同一个包/文件夹中,那你为什么要写 com.RMIInterface

它应该只是RMIInterface因为您提到的方式会搜索另一个名为 com 的包在你当前的 com包。

我希望你明白我的意思。

编辑

在运行 RMI 程序时,我们确实需要运行 rmiregistry。

你应该运行 rmiregistry 启动服务器程序之前。

尝试从控制台或 Windows 中的 CMD 运行它。

尝试 rmiregistrystart rmiregistry在命令中。从 CMD 运行时,我们确实需要从我们运行的相同文件夹/包启动 rmiregistry javacjava .在 eclipse 的情况下,我想你应该尝试从你的 com 文件夹运行 rmiregistry。

更新

我想直到现在你正试图从 com 文件夹中启动 rmiregistry。只需尝试从您的 com 文件夹中启动它即可。

尽管 D:\Workspace\Study\bin\com>start rmiregistry

尝试

D:\Workspace\Study\bin\start rmiregistry

关于java.rmi.ServerException : RemoteException occurred in server thread; ClassNotFoundException 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12597723/

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