rmi java.lang.ClassNotFoundException:RMIServerImpl_Stub

时间:2011-02-15 03:11:21

标签: rmi

当我启动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());
    }

}

}

1 个答案:

答案 0 :(得分:0)

听起来你没有运行rmic编译器来生成存根和骨架。

我用手工制作原始RMI已经很久了,我不知道是否还需要这一步。但这是我最后一次做RMI。

如果你确实运行了rmic,那么我猜你没有正确地将服务器和客户端打包存根和骨架。如果您可以找到这些.class文件,请检查您的打包和部署。