当前位置:  开发笔记 > 编程语言 > 正文

如何找到序列化Java对象的serialVersionUID?

如何解决《如何找到序列化Java对象的serialVersionUID?》经验,为你挑选了2个好方法。

我有几个可序列化的类,编译时没有指定serialVersionUID.我现在需要向这些类添加一些数据成员,但希望保留一些已经序列化的对象.

有没有找到这些序列化对象的serialVersionUID,以便我可以在源代码中指定相同的ID?



1> TofuBeer..:

如果您尚未修改代码,则可以运行serialver工具(JDK的一部分)并查看它生成的内容.我相信这会得到你的计算结果seriVersionUID.

这是关于serialver的简短文章.


Java对象序列化规范第4.6节解释了在内部类的情况下,如果实现为合成成员生成不同的名称,则serialVersionUID在JVM中可能不兼容.我已经看到这种情况在实践中发生,即使有两个Sun JVM也是如此.
确保使用与最初编译代码完全相同的JVM来执行此操作!

2> Varkhan..:

我通常做的是,我编译代码,尝试运行它,并且引发的异常提到了违规的SVUID,所以我可以在我自己的代码中剪切并粘贴它.原油,但它的工作原理.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有