RMI Java不创建骨架类。

4

我编写了一个远程服务MyremoteImpl.java,并在编译后使用以下命令:

rmic MyRemoteImpl

我了解到这个方法应该创建存根类和骨架类,但我只能看到存根类,为什么?
在运行rmiregistry后,我遇到了另一个问题:我启动了服务,但它却出现了以下错误,我怀疑我是否因为缺少骨架类而得到了这个错误?
 java.net.MalformedURLException: invalid URL String: Remote Hello
    at java.rmi.Naming.parseURL(Unknown Source)
    at java.rmi.Naming.rebind(Unknown Source)
    at RMIservice.MyRemoteImpl.main(MyRemoteImpl.java:22)
Caused by: java.net.URISyntaxException: Illegal character in path at index 6: Remote Hello
    at java.net.URI$Parser.fail(Unknown Source)
    at java.net.URI$Parser.checkChars(Unknown Source)
    at java.net.URI$Parser.parseHierarchical(Unknown Source)
    at java.net.URI$Parser.parse(Unknown Source)
    at java.net.URI.<init>(Unknown Source)
    at java.rmi.Naming.intParseURL(Unknown Source)
    ... 3 more

请帮我解决这个问题,提前感谢!!!

如果我没记错的话,现在不再创建骨架类了。你的异常似乎指向一个无效的URL。你能发布一下你正在使用的连接URL吗? - npinti
非常感谢您的回答!最终我摆脱了那个异常...并且我发现使用rmic -v1.1可以创建骨架类 :-) - Pavithra Gunasekara
2个回答

2

不要这样做。你不需要它。自从1998年以来,骨架类就不再是必需品了。


0

从rmic 1.2开始,Java不再生成骨架类。新的JRMP协议支持RMI,摆脱了使用骨架文件的限制。

远程对象的骨架是JRMP协议服务器端实体,具有将调用分派到实际远程对象实现的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接