今天调程序,出现了java.io.InvalidClassException:local class incompatible这个错误。
错误重现:
java.io.InvalidClassException: PublishInfMsg; local class incompatible: stream classdesc serialVersionUID = 1412277949381450533, local class serialVersionUID = -3559189311748262112
原因:本地和远程的类中serialVersionUID 值不一样.
解决方案:
将本地的序列化的类中的版本号(serialVersionUID )改成和远程中一样
从上列异常中可以看出
stream classdesc serialVersionUID = 1412277949381450533, (远程)
local class serialVersionUID = -3559189311748262112 (本地)
所以你只需要吧本地的序列化类里的private static final long serialVersionUID = 改成远程的就行了
没有 private static final long serialVersionUID = 这行代码的加上这行代码。