Re: How to get RMI to work - stub issues
Krystian wrote:
Hi
I've got a small application written in Java with RMI, but i can't get
it to work.
Here's my directory structure:
D:\Aplikacja\
-serwer > com.krystian.info.jar
-klient > test.jar
com.krystian.info.jar is a package with the server, which should send
some system info to the client.
test.jar is a package with client.
Here's what i do:
start rmiregistry
java -Djava.rmi.server.codebase=file:\\D:\Aplikacja\serwer\com.krystian.info
-Djava.server.policy=java.policy -classpath D
\Aplikacja\serwer\com.krystian.info.jar com.krystian.info.Info info
parameter is the name to bind in the rmiregistry, the server starts
just fine and everything seems to be all right but:
java -Djava.security.policy=java.policy test.Test info
parameter is the name to bind in the rmiregistry. Unfortunately when
the client starts i get:
Exception in thread "main" java.rmi.UnmarshalException: error
unmarshalling retu
rn; nested exception is:
java.lang.ClassNotFoundException: com.krystian.info.Info_Stub
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Naming.java:84)
at test.Test.main(Test.java:14)
Caused by: java.lang.ClassNotFoundException:
com.krystian.info.Info_Stub
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
.....
but the stub is there!
Could somebody explain me what do i do wrong?
I would appreciate it.
It's a while since I worked on RMI and rmiregistry, but I think you need to add
the jar to the classpath of rmiregisty if you want rmiregistry to be able to
supply the stubs to the client.
--
Nigel Wade, System Administrator, Space Plasma Physics Group,
University of Leicester, Leicester, LE1 7RH, UK
E-mail : nmw@ion.le.ac.uk
Phone : +44 (0)116 2523548, Fax : +44 (0)116 2523555