在尝试写RMI程序时,如果没有指定RMI的Codebase,程序执行注册的bind或rebind方法时,会报ClassNotFoundException错:
假设设要运行程序为“example.hello.Server”,解决方法如下:
java -classpath classDir -Djava.rmi.server.codebase=file:classDir/ example.hello.Server
例如,使用Windows操作系统,要运行的类文件放在“e:/test/”目录,写法如下:
java -classpath "e:/test/" -Djava.rmi.server.codebase=file:///e:/test/ example.hello.Server
注意:codebase路径必需以“/”结尾。
参考: