Когато стартирам моя сървърен код през eclipse, получих следното изключение:
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: com.RMIInterface
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:413)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
Стартирах регистъра на RMI, като просто написах "start rmiregistry" в cmd ред. Отвори се нов прозорец със заглавие "c:\Program Files\Java\jdk1.7.0\bin\rmiregistry.exe". В този път само аз имам JDK.
Всички мои .class файлове са налични в този път: D:\Workspace\Study\bin\com.
В папката com имам и трите файла "RMIInterface, RMIServer, RMIClient".
Когато стартирам сървърния код от eclipse, получих гореспоменато изключение. (т.е.) RMIInterface не е намерен. Но го имам в същата папка.
Какво друго трябва да направя, за да стартирам сървъра?
Това е моят сървърен код:
RMIServer serRef = new RMIServer();
try {
RMIInterface inref = (RMIInterface)UnicastRemoteObject.exportObject(serRef, 0);
Registry reg = LocateRegistry.getRegistry();
reg.bind("ServerObj", inref); -------->Exception in this line
} catch (AlreadyBoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}