I coded an interface, a server program and a client program (all very simple) and compiled them. All 3 .class files are in same folder. After starting server program, I wanted to execute client program on a remote machine. I removed classpath and started rmiregistry. When I executed the server program, it threw exceptions but didn't abort. Exception reads: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.lang.ClassNotFoundException: Echo ... etc Code is What may be causing exception?