我创建了客户端和服务器,然后在客户端添加了一个类来进行序列化,然后只是简单地进入到我的硬盘驱动器中的客户端的文件夹,并将它粘贴到服务器相应的位置,分别是classname.class和classname.java 。
它在我自己的笔记本电脑中运行良好,但是当我想在其他系统上继续工作时,当我打开项目文件夹,并且在客户端尝试连接到服务器后,出现以下错误:
Exception in thread "main" java.io.InvalidClassException: projectname.clasname; local class incompatible: stream classdesc serialVersionUID = -6009442170907349114, local class serialVersionUID = 6529685098267757690
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
到底是怎么回事?是因为我使用旧版本的IDE来运行程序吗?
编辑
import java.io.Serializable;
import java.net.URL;
public class KeyAdr implements Serializable{
private static final long serialVersionUID = 6529685098267757690L;
public URL adr;
public String key;
}