序列化中java.lang.ClassNotFoundException: com.问题解决
报错信息如下:
java.lang.ClassNotFoundException: com.xhsysu.qqclient.qqcommon.User
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:628)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1781)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
at com.xhsysu.qqserver.service.QQServer.<init>(QQServer.java:46)
at com.xhsysu.qqframe.QQFrame.main(QQFrame.java:13)
问题:因为我的序列化与反序列化的包名不同,导致找不到类
package com.xhsysu.qqserver.qqcommon;
public class User implements Serializable {}
package com.xhsysu.qqclient.qqcommon;
public class User implements Serializable {}
解决办法:两个工程统一将User类放到相同的目录下
package com.xhsysu.qqcommon;
public class User implements Serializable {}