小编Spe*_*re6的帖子

序列版本UID 不匹配

在此输入图像描述

我对 java 相当陌生,我有一个类Products是Serializable. 我不知道我做了什么,但我的程序停止工作并给了我这个错误:

Exception in thread "main" java.io.InvalidClassException: cockeb.Product;
local class incompatible: stream classdesc serialVersionUID = 1288455942608122525,
local class serialVersionUID = -558553967080513790

at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:616)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1829)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1713)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1986)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
at java.util.ArrayList.readObject(ArrayList.java:791)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2122)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422
Run Code Online (Sandbox Code Playgroud)

我四处搜寻并找到了声明它的方法,但这现在对我没有帮助。我什至打开一个新项目,只是从非工作项目中复制每个类中的文本并将其粘贴到新项目中,但我仍然遇到相同的错误。我在我的所有项目中都遇到了这个错误(它们使用同一个Serializable类),我需要知道我做了什么来做到这一点,这样它就不会再次发生,以及我可以做些什么来修复它。我已经尝试声明了,serialversionUID但没有成功。

产品类别

package cockeb;

import java.io.Serializable;
import java.math.BigDecimal;

public class Product implements Comparable<Product>, Serializable {

private …
Run Code Online (Sandbox Code Playgroud)

java serialization serialversionuid

3
推荐指数
1
解决办法
7900
查看次数

标签 统计

java ×1

serialization ×1

serialversionuid ×1