求教:RMI Server 注册找不到接口对象

jyf184880 2015-03-18 02:12:33
问题描述:运行RMI Server的时候抛出如下异常:

启动过程如下:
1. 首先在非class路径下启动了 start rmiregistry 8088
2. 运行如下启动命令:
备注: 1. 程序运行版本是1.6 u45
2. rmiregistry 我是故意运行在非classpath路径下,因为好像据我所知rmiregistry 并不是必须运行在classpath路径下,而是可以在运行java *的时候通过设置Djava.rmi.server.codepath来解决接口类找不到的问题
所以问题在于:
1. 出现上述错误是否是因为我的Djava.rmi.server.codebase的设置有问题?
2. Djava.rmi.server.codebase是否真能够解决rmiregistry的类查找路径问题?

请高手帮忙解决或者大家给提供解决思路也行。感激不尽!!!
...全文
266 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jyf184880 2017-12-06
  • 打赏
  • 举报
回复
gfdgertretret
jyf184880 2017-12-05
  • 打赏
  • 举报
回复
mark: 今天重新看到这个问题,依然深深困扰,经过不懈努力,终于找到答案: rmiregistry 当然可以运行在非classpath下,这种情况运行server,就会报出我遇到的异常(如题)。 如何解决? 这个问题产生的原因是因为从jdk7以后,java.rmi.server.useCodebaseOnly属性的默认值被设置为true了 java.rmi.server.useCodebaseOnly If this value is true, automatic loading of classes is prohibited except from the local CLASSPATH and from the java.rmi.server.codebase property set on this VM. Use of this property prevents client VMs from dynamically downloading bytecodes from other codebases. 意思是类的自动加载只能从本地CLASSPATH和当前VM设置 的codebase中加载。 所以这个值需要设置为false。包括启动rmiregistry和启动server和Client端。即可解决。 该问题已解决,关闭该问题了
jyf184880 2015-12-24
  • 打赏
  • 举报
回复
引用 4 楼 u011444368的回复:
我也遇到这个问题了,不知道楼主解决掉没
没有解决,你还是运行在类路径下面吧。
u011444368 2015-05-25
  • 打赏
  • 举报
回复
我也遇到这个问题了,不知道楼主解决掉没
jyf184880 2015-03-20
  • 打赏
  • 举报
回复
引用 2 楼 attilax 的回复:
class没找到...配置lib目录..
感谢回复。 配置lib目录?能否详解? 还有我的问题核心是配置codebase能否解决rmiregistry 找不到transcodeservice接口的问题,如果能,我的配置错误在哪?不能,为啥?谢谢
attilax 2015-03-19
  • 打赏
  • 举报
回复
class没找到...配置lib目录..
jyf184880 2015-03-18
  • 打赏
  • 举报
回复
没有人回答吗?

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧