【发布时间】:2018-02-13 23:19:53
【问题描述】:
我有 2 个应用程序: Application1 使用 Kryo 序列化器序列化 Java 对象,而 application2 反序列化由 application1 保存在外部存储上的 kryo 序列化字节[]。
Application1 的类路径中有 kryo-shaded-3.0.3.jar,而 application2 的类路径中有 kryo-shaded-4.0.1。
当 application2 尝试对 byte[] 进行反序列化时,它会出现异常: kryo 无法使用 kryo 的类加载器加载类,正在使用当前重试。
当我将 application1 中的 kryo 版本更改为 kryo-shaded-4.0.1 时。它工作正常。为什么当序列化程序具有不同版本时会出现问题。 谁设置了 kryo 类加载器?
【问题讨论】:
-
您会期望序列化格式在主要的 kryo 版本中有所不同。因此,至少为了兼容性,您需要使用相同的主要版本。
标签: java serialization kryo