我想编辑 RMI hello world 示例以在不同机器上使用客户端和服务器,但我遇到了解组返回错误。
如果我在 Netbeans 上的同一个项目中运行客户端和服务器,它们可以正常工作,但是当我拆分它们时,我将客户端的 try 语句编辑为:
try {
Registry registry = LocateRegistry.getRegistry("localhost");
String[] c = registry.list();
System.out.println(c[0].toString());
Remote lookup = Naming.lookup("HelloServer");
} catch (Exception e) {
System.out.println("HelloClient exception: " + e.getMessage());
}
没有Remote lookup = Naming.lookup("HelloServer");
,打印命令给出正确的“HelloServer”,但是当我创建远程对象时,我收到了这个错误:
HelloClient exception: error unmarshalling return; nested exception is:
java.lang.ClassNotFoundException: rmimain.Hello
我已经测试了该政策并且它运行良好,任何帮助将不胜感激。