我过去没有使用serialUID序列化了一个对象数组,但在此期间我改变了类 - 我添加了一个布尔值。 现在我无法恢复对象。 我试图重新创建旧类(来自svn)并删除了关于“no serial uid”的警告,以便获取从Eclipse生成的serialUID。我尝试将其粘贴到我的新版本的类中,但它仍然失败。我不确定这是否是因为删除警告会更改生成的serialUID。 接下来我尝试使用“serialver”工具,但我不断收到“找不到类”错误。
有人可以为我拼出我应该在命令行中输入的内容,因为我不完全确定在类路径中输入什么内容? 我用它作为我的模板: serialver -classpath C:\ foo \ classes.jar com.bar.FooMessage 我的工作区是D:\ blabla \ androidworkspace 项目是在eclipse中显示,它说: Shows-src-xyz-show.java 我从C:\ Program Files(x86)\ Java \ jdk1.6.0_24 \ bin
运行命令答案 0 :(得分:0)
以下是序列化如何工作的良好解释http://www.javaworld.com/community/node/2915
你需要做的是:
答案 1 :(得分:0)
在原始.class文件上运行serialver
实用程序。这将告诉你它的计算serialVersionUID。然后编辑新源以声明它。
答案 2 :(得分:0)
我在这里找到了一个例子http://rchandratech.blogspot.com/2015/05/using-serialver-jdk-command.html,
尝试在Eclipse中,从命令行到项目文件所在的项目/ bin,然后是serialver -classpath" ./" com.xxx.xxx。