2

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();
    }
}

どの URL を使用しても、以下の例外が発生します。マーシャリングするクラスが見つかりません。誰かがこの問題について私を助けてくれますか? 前もって感謝します。

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
4

1 に答える 1

0

RMI を使用してコードをダウンロードするには securitymanager が必要ですが、投稿したフラグメントではコメントアウトされています。securitymanager セットアップのコメントを外してみていただけますか?

于 2011-12-31T18:05:43.973 に答える