使用rmi时的编组问题

时间:2011-12-31 13:22:52

标签: java exception marshalling rmi remoteexception

我试图使用rmi。下面的代码是我用它来绑定的代码。

    @Override
    public void init(String serviceName) throws RemoteException {
    /*if(System.getSecurityManager() == null){
        System.setSecurityManager(new RMISecurityManager());
    }*/
    try {
        String host = InetAddress.getLocalHost().getHostName();
        String url = "rmi://"+ host + "/"+ serviceName;
        //String url = "//localhost/" + serviceName;
        Naming.rebind(url,this);
    } catch (UnknownHostException e) { 
        e.printStackTrace();
    } catch (MalformedURLException e) { 
        e.printStackTrace();
    }
}

无论我使用哪个网址,我都会收到以下例外情况。它从来没有找到要编组的课程。有人可以帮我解决这个问题。提前谢谢。

java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
java.lang.ClassNotFoundException: ceng443.hw3.base.SocialNetworkServer

1 个答案:

答案 0 :(得分:0)

您需要一名安全管理员才能使用RMI下载任何代码,但您已在发布的片段中对其进行了注释。您可以尝试取消注释您的安全管理器设置吗?