8

我在数据库中保存了一个 java 对象,几天后我更改了我的 jre 版本。现在,当我尝试读取同一个对象时,出现以下异常:

Exception in thread "main" java.io.InvalidClassException:
SerializeMe; local class incompatible: stream classdesc
serialVersionUID = -6377573678240024862, local class serialVersionUID = -8204757486033751616

我怎样才能摆脱这个,我怎样才能得到保存的对象?

请帮我。

4

1 回答 1

8

如果您可以影响此类的源代码并且 JRE 只是发生了变化,那么您很可能仍然可以反序列化由旧 JVM 序列化的对象。只需在要反序列化的类中定义以下字段:

private static final long serialVersionUID = -6377573678240024862L;
于 2012-11-28T06:43:23.150 回答