如何摆脱InvalidClassException的serialVersionUID的?(How t

2019-08-03 06:39发布

我已经在数据库中保存一个Java对象,然后几天后,我改变了我的JRE版本。 现在,当我尝试读取我得到以下例外是相同的对象:

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

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

请帮我。

Answer 1:

如果你能影响这个类的源代码,并且改变了JRE是唯一的,最有可能你仍然可以反序列化,是由老版本的JVM序列化对象。 就在类中定义以下字段添加到反序列化:

private static final long serialVersionUID = -6377573678240024862L;


文章来源: How to get rid of InvalidClassException SerialVersionUID?