rmi需要可序列化的,所以象stream之类的东东是不能作为返回的。

解决方案 »

  1.   

    public class RefStru implements java.io.Serializable 
    这种形式不行,所以采用了
    public class RefStru extends PortableRemoteObject implements Remote又出错:Exception in thread "main" java.rmi.StubNotFoundException: Stub class not found:
     examples.RefStru_Stub; nested exception is:
            java.lang.ClassNotFoundException: examples.RefStru_Stub
    java.lang.ClassNotFoundException: examples.RefStru_Stub
            at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
            at sun.rmi.server.RemoteProxy.loadClassFromClass(RemoteProxy.java:194)
            at sun.rmi.server.RemoteProxy.getStub(RemoteProxy.java:96)
            at sun.rmi.server.RemoteProxy.getStub(RemoteProxy.java:58)
            at sun.rmi.server.UnicastServerRef.setSkeleton(UnicastServerRef.java:159
    )
            at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:12
    2)
            at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:10
    9)
            at java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.
    java:278)
            at java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.
    java:181)
            at java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.
    java:158)
            at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.exportObject
    (PortableRemoteObject.java:106)
            at javax.rmi.PortableRemoteObject.exportObject(PortableRemoteObject.java
    :87)
            at javax.rmi.PortableRemoteObject.<init>(PortableRemoteObject.java:71)
            at examples.RefStru.<init>(RefStru.java:12)
            at examples.HelloClient.main(HelloClient.java:66)