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
这样,调用一下看一下,哈哈,是不是没有异常了。就这样了,希望对大家有帮助。
相关推荐
ScarletLina 2014-05-12
LychieFan 2007-06-08
GodLong 2011-06-09
agjllxchjy 2012-03-05
Bonbonwen 2011-11-17
LinuxCard 2012-10-10
XuNeely 2019-06-30
spring 2014-05-12
妖怪哪里跑 2014-03-13
lxfHaHaHa 2013-08-06
uk8692 2019-06-28
hanyujianke 2014-09-16
dlutbob 2010-06-01
RickyIT 2010-05-03
JESSIEfoo 2010-01-16
dananhai 2008-02-01