问题描述
redis里面放了个vo,然后vo修改后发现redis无法解析出vo了,报错如下:
Caused by: java.io.InvalidClassException: com.xxxx.xxx.xxxVO;local class incompatible: stream classdesc serialVersionUID = 1515424366936311039, local class serialVersionUID = -910321560254477281
解决
显示声明serialVersionUID
总结
1,反序列化需要serialVersionUID
2,当没有显式的生命serialVersionUID时,编译器会默认生成一个serialVersionUID,文件没有发生变化是这个UID不变,当文件发生变化时,这个UID也会发生变化。
3,显式的声明serialVersionUID,是个不错的编程习惯。
4,idea配置提示声明: