首页 > 解决方案 > java.io.InvalidClassException: cdfs.events.C; 本地类不兼容:流 classdesc serialVersionUID = -x,本地类 serialVersionUID = y

问题描述

我们有一个可序列化的超类 cdfs.events.A,并且在 java 文件中定义了一个 serialVersionUID。

cdfs.events.B 不可序列化且未定义 serialVersionUID 但继承自 cdfs.events.A cdfs.events.C 不可序列化且未定义 serialVersionUID 但继承自 cdfs.events.B

一切正常,直到我们修改 cdfs.events.C(一个小的逻辑更改 - 我们只是将它设为一个空类),交付并部署在 tomcat 中。

现在,当应用程序尝试创建 cdfs.events.C 时,我们收到此错误,

java.io.InvalidClassException: cdfs.events.C; 本地类不兼容:流classdesc serialVersionUID = -1499697765910017945,本地类serialVersionUID = 8422749130784877315

上面错误显示的 serialVersionUID 也不在基类 serialVersionUID 中。所以这意味着它是一些生成的 id,但旧的在哪里打断。没有序列化发生,我们之前已经做过很多次没有问题。也没有客户端服务器模型。请帮忙

标签: javaserialization

解决方案


推荐阅读