stream classdesc serialVersionUID = -6230695726323974941, local class serialVersionUID = 945847874..

来源:互联网 发布:吴裕彬 水平 知乎 编辑:程序博客网 时间:2024/06/05 16:57

java.io.InvalidClassException: com.system.dictionary.model.S_Dictionary; local class incompatible: stream classdesc serialVersionUID = -6230695726323974941, local class serialVersionUID = 945847874488520919


原因是因为当这个类实现序列化接口之后会生成一个UID,如果类中的属性类型更改,添加或者删除属性都会造成UID的改变,所以在创建类时可以写一个显serialVersionUID,一般默认写为:private static final long serialVersionUID = 1L;
如果没有写显示的serialVersionUID 在修改后就会报错:
java.io.InvalidClassException: com.bshinfo.saas.system.dictionary.model.S_Dictionary; local class incompatible: stream classdesc serialVersionUID = -6230695726323974941, local class serialVersionUID = 945847874488520919
local class serialVersionUID = 945847874488520919的ID (本地)是你本次运行生成的新的UID ,因为跟之前的不匹配她是不允许进行加载的

解决办法:在报错的model中显式加入serialVersionUID;
private static final long serialVersionUID = 这里的值是报错信息中的stream classdesc serialVersionUID = -6230695726323974941;(远程生成的UID也就是第一次编译的时候生成的ID)


原创粉丝点击