Intellij Idea为Kotlin的序列化类生成serialVersionUID

在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属性是以伴生对象属性存在的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容