java反序列化对象类已更改
过去我序列化了一个没有serialUID的对象数组,但同时我改变了类——我添加了一个布尔值。 现在我无法还原这些对象。 我尝试重新创建旧类(来自svn),并删除了关于“no serial uid”的警告,以便从Eclipse生成serialUID。我试着把它粘贴到新版本的课堂上,但还是失败了。我不确定这是否是因为删除警告会更改生成的serialUID。 接下来,我尝试使用工具“serialver”,但我一直收到一个“未找到类”错误
有人能给我解释一下我应该在命令行中键入什么吗,因为我不完全确定在类路径中键入什么? 我用这个作为我的模板: serialver-classpath C:\foo\classes。jar com。酒吧食物信息 我的工作区是D:\blabla\安卓workspace 项目在eclipse中显示为: 显示src xyz显示。JAVA 我从C:\Program Files(x86)\Java\jdk1运行命令。6.0_24\bin
# 1 楼答案
下面很好地解释了序列化是如何工作的http://www.javaworld.com/community/node/2915
你需要做的是:
# 2 楼答案
我在这里找到了一个例子http://rchandratech.blogspot.com/2015/05/using-serialver-jdk-command.html
在Eclipse中尝试,从命令行转到类文件所在的project/bin,然后是serialver-classpath“/”com。xxx。xxx
# 3 楼答案
在原始文件上运行
serialver
实用程序。类文件。这将告诉你它的计算SerialVersionID。然后编辑新源以声明它