Intellij Idea为Kotlin的序列化类生成seria
2019-03-12 本文已影响0人
AmyXYC
在Intellij Idea使用过程中,为Java序列化类自动生成serialVersionUID可以通过Inspections配置来完成:
Settings > Inspections > 搜索Serializable > 勾选 Serializable class without "serialVersionUID"
设置完成以后,选中对应的类名,按alt+enter键,就会出现 Add 'serialVersionUid' field下拉菜单,点击它就会自动为类生成serialVersionUID属性。
然而在Kotlin环境下,以上配置无效了
解决方案如下:
利用serialver命令生成serialVersionUID
- 在idea配置中找到external tools,添加新的tools
- name就设置为serialver
- program中选择serialver命令所在的路径,macOS下一般为/usr/bin/serialver
- parameters设置为 -classpath $OutputPath$:$Classpath$ $FileFQPackage$.$FileNameWithoutAllExtensions$
- 点击保存以上配置
Ok,现在就可以生成serialVersionUID了。首先编译一下,让要生成serialVersionUID的类生成对应的class文件,然后在类的编辑窗口中右键external tools > serialver,这时console窗口出就生成了这个类的serialVersionUID了。
另:kotlin中没有Java的static关键字,所以serialVersionUID属性是以伴生对象属性存在的