当我启动rmiserver实现类时,它会显示此错误消息
Remote exception: java.rmi.ServerException: RemoteException occurred in server t
hread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested excep
tion is:
java.lang.ClassNotFoundException: RMIServerImpl_Stub
命令已运行
启动rmiregistry
启动java -Djava.security.policy = policyfile RMIServerImpl
我该怎么做才能解决这个问题。请帮忙
这是我的rmi服务器代码
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
公共类RMIServerImpl扩展了UnicastRemoteObject 实现RMIServer {
RMIServerImpl() throws RemoteException {
super();
}
public static void main(String args[]) {
try {
System.setSecurityManager(new RMISecurityManager());
RMIServerImpl Server = new RMIServerImpl();
Naming.rebind("SAMPLE-SERVER", Server);
System.out.println("Server waiting.....");
} catch (java.net.MalformedURLException mue) {
System.out.println("Malformed URL: " + mue.toString());
} catch (RemoteException re) {
System.out.println("Remote exception: " + re.toString());
}
}
}
答案 0 :(得分:0)
听起来你没有运行rmic编译器来生成存根和骨架。
我用手工制作原始RMI已经很久了,我不知道是否还需要这一步。但这是我最后一次做RMI。
如果你确实运行了rmic,那么我猜你没有正确地将服务器和客户端打包存根和骨架。如果您可以找到这些.class文件,请检查您的打包和部署。