3 回答
TA贡献1786条经验 获得超11个赞
rmiregisrty
从/ bin,/ build或/ build / classes文件夹中运行命令,无论哪个文件夹是所构建文件的根目录。
我花了半天的时间来解决同样的问题。
TA贡献1844条经验 获得超8个赞
发生异常是因为rmiregistry应用程序不知道从何处加载类。当您尝试在RMI注册表中绑定对象时,注册表将下载该对象的类定义。其他一些答案则告诉您通过设置rmiregistry应用程序的类路径来解决此问题,以便它在启动时具有类定义,并且不需要下载任何内容,但是Sun的Java RMI教程明确表示不要这样做。这个。我怀疑这可能会导致注册表中的类版本与服务器上的类之间发生冲突。
解决此问题的正确方法是,按照您的尝试设置java.rmi.server.codebase属性。该属性要求目录路径以正斜杠终止,如下所示:
-Djava.rmi.server.codebase = file:$ {workspace_loc} / progInternet2008 /
如果$ {workspace_loc}变量是相对路径,并且rmiregistry应用程序未在同一目录中启动,因此相对路径不正确,则可能也会遇到麻烦。如果将路径设为绝对路径,或在适当的目录中启动rmiregistry,则ClassNotFoundException应该消失。有关更多详细信息,请参见java.rmi.server.codebase属性上的教程。
TA贡献1772条经验 获得超5个赞
好吧,我克服了这个问题。确保当你运行rmiregistry你的CLASSPATH环境变量设置。
例如,您可能有一个脚本:
set CLASSPATH=[path to jdbc driver].jar
rmiregistry.exe
这就是使丢失的类路径正常工作所需要的。我不确定如何发送-cp commandline给rmiregistry.exe。它的文档非常缺乏。
添加回答
举报