This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I am trying to get a basic RMI example working and I am having a problem dealing with the rmiregistry....
when I execute the rmiregistry and try to run my server I get the following error: $ java MyRemoteImpl java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.lang.ClassNotFoundException: MyRemoteImpl_Stub at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:385) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240) at sun.rmi.transport.Transport$1.run(Transport.java:153) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:149) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) at java.lang.Thread.run(Thread.java:595) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:343) at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source) at MyRemoteImpl.main(MyRemoteImpl.java:32)
However, when I change the server to create a registry and bypass the rmiregistry program, it works fine...
Can anyone tell me what the problem is?
Joined: Feb 16, 2007
well, I did some searching and did find the answer to my question....
it seems that the stub files have to be visible to rmiregistry.
so if you run rmiregistry out of the class area for your app, that will work. if you put the jar into the classpath, that would work as well...
another question though....
is it possible to have a directory where you put jar files such that all the jar files will be searched when needed by the JVM?
i have a ~/libs directory that contains: lib1.jar lib2.jar lib3.jar...
can one put "~/libs" in the classpath such that the jar files will be searched for classes automatically by the JVM ??