上篇记录了下 java序列化,这里记录下serialVersionUID
生成,如果实现java.io.Serializable
的类没有显式的添加serialVersionUID
,那么在修改类等信息后,将会造成反序列化失败问题,所以一定要显式的声明serialVersionUID
。
生成单个serialVersionUID
安装GenerateSerialVersionUID插件
Settings
-> Plugins
-> 搜索到GenerateSerialVersionUID插件后进行安装
Alt+Insert
找到SerialVersionUID
。在当前类中添加一个serialVersionUID
字段,或者如果已经存在则对其进行更新。
开启 Serializable issues
打开 IDEA Settings 搜索 Serializable class without serialVersionUID 进行勾选,保存设置,然后找到实现了Serializable并未添加serialVersionUID的类,可以看到,类名出线黄色警告,使用 Alt+Enter 生成 serialVersionUID
勾选Serializable class without serialVersionUID image.png image.png批量生成 serialVersionUID
一个一个去项目找肯定是太麻烦了,那就得批量处理,开启 Serializable issues
后,在顶部菜单栏找打Analyze
-> Inspect Code
进行代码分析,在结果中找到Java -> Serialization issues
-> Serializable class without serialVersionUID
执行 Add 'serialVersionUID' field
网友评论