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)