最近在写一个老师不布置的任务,网络编程模仿QQ做一个来聊天室,传递对象时发现在接收端出现了java.lang.ClassNotFoundException和NoClassDefFoundError,上网查找半天,说各种情况的都有,试了很多方法,总之最后解决了,下边看一下我的解决方法,希望对大家有用!
首先是分别写好客户端和服务器端之后,在客户端进行一个简单的序列化对象发送至服务器,发现报错:
仔细检查多边代码之后发现代码并无问题,而报错信息后边给的是客户端发送的对象类路径,与客户端并不相同,于是我把服务器端的对象路径更换成和客户端一样的,就是数据类文件中最上边的package对应的路径,换成和客户端一样的,这个问题解决了
但是接着报了另一个错误:
查询之后大致了解了这个错误产生原因,简单说就是编译时没问题,JVM动态运行时出现了问题,这个问题产生的原因应该还是在数据类上边,最终检查发现客户端和服务器端数据类名首字母大小写不一样,导致jvm在运行时找不到对应的类。改完类名之后程序问题解决,正常传输对象数据。如图: