IDEA 单个和批量生成 serialVersionUID

上篇记录了下 java序列化,这里记录下serialVersionUID生成,如果实现java.io.Serializable 的类没有显式的添加serialVersionUID,那么在修改类等信息后,将会造成反序列化失败问题,所以一定要显式的声明serialVersionUID

生成单个serialVersionUID

安装GenerateSerialVersionUID插件

Settings -> Plugins -> 搜索到GenerateSerialVersionUID插件后进行安装
Alt+Insert 找到SerialVersionUID。在当前类中添加一个serialVersionUID字段,或者如果已经存在则对其进行更新。

Alt+Insert 找到 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

Inspect Code
Java -> Serialization issues -> Serializable class without 执行 Add 'serialVersionUID' field