Java RMI调用发生ClassCastException的处理方法

在学习RMI的时候,通过网上资料或者《Java网络编程和分布式计算》经典教程对RMI有了一定的了解。但是前几天在写一个网络应用软件的时候却发生了点问题。

服务器端,客户端都按照RMI规范完成之后,客户端在Naming.lookup()之后,获得的Object转换成接口的时候总是抛出java.lang.ClassCastException $Proxy ... 异常。调试了很长时间,也google了很多东西,但是都没有合适的解决方案。最后还是自力更生,丰衣足食了  

 主要原因:是服务器端的包结构和服务器端的包结构不同,这就造成了实际上你的服务器端的Interface的名字和你客户端的Interface名称不同,所以当然会造成转型异常了。  

解决方法:把自己客户端涉及到RMI部分调整和服务器端完全一致。可能你的系统客户端包为com.xxx.client,而服务器端的包为com.xxx.server。你只需要将服务器端和客户端的包都改成同一个包名即可。例如都改成com.xxx.rmi  

 这样,调用一下看一下,哈哈,是不是没有异常了。就这样了,希望对大家有帮助。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值