向后兼容性:反序列化对象期间的ClassNotFoundException

时间:2013-11-17 03:25:14

标签: java serialization

开始 - 对不起我的英语。

我有一个可序列化的类。类的名称是“问题”。此类的实例已序列化并作为文件存储在服务器上。然后客户端应用程序下载此文件并反序列化。我之前添加了一些字段,一切正常,向后兼容。

前段时间,我创建了新课程。这个类的名称是“类别”。我已经在“问题”类中添加了这些类别的新字段。

问题是我以这种方式失去了向后兼容性。

当我向“Questions”类添加已知类型的新字段(例如String)时,一切正常。问题是当我使用我自己的新类时,客户端不存在。

因为在deserization期间它会抛出“java.lang.ClassNotFoundException”异常。

你知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果您需要依赖向后兼容性,最好不要使用通用序列化。 Ofc在某种程度上可能,但我保证你会经常在你的膝盖上射击..

相关问题