Java反序列化错误

Java Deserialization Error

所以出于某种原因,堆栈溢出不会让我 post 超过 2 links 所以这里是一个包含 links 的 link:http://pastebin.com/FERUSH2P

你好,我不知道为什么,但是当我收到 ClassNotFoundException 时 试图反序列化 .bin 文件。我在一个程序中序列化并在另一个程序中反序列化。 serialversion ID 是相同的。这是第一个程序中的 class:(Link 1) 和第二个程序:(Link 2) 这是序列化代码(在第二个程序中):(Link 3 ) 这是反序列化代码(在第一个程序中): (Link 4) 最后是错误: (Link 5)

如果有任何帮助,我将不胜感激!谢谢!

编辑:顺便说一下,getCause() returns null

编辑:我通过移动 classes 来修复它,现在它们在同名的包中。谢谢!

您的代码似乎是正确的(除了一个小评论 - 最好将您的 "stream.close()" 放在 "finally" 子句中)。 该错误清楚地表明读取端在其 class 路径上没有 class "AnimatedModelData"。您可以通过在读取端调用 Class.forName("core.ModelData.AnimatedModelData") 来验证它,即使不读取流。标准的解决方案是将这样的模型classes编译一次,可选的打包成jar,然后添加到双方的class路径中-reader和writer.