可能重复:
Java serialization - java.io.InvalidClassException local class incompatible
我编写了一个程序,将Object(比如A)存储为文件(比方说F)。因此,当您稍后运行该程序时,您可以加载它并使用其内容。到现在为止还挺好。但是今天我决定对A类进行一些修改。我对原版进行了备份(称为Aold)。但我意识到太晚了,就是存储在F上的信息对我来说非常有价值。当然,当我试图将它作为新的对象A加载时,它失败了。接下来我写了一个转换器,它接受一个带有Aold对象的文件作为其内容并将其转换为一个新的A类(仍然与我?)然后将其写回磁盘。这样,下次我的程序可以直接加载它。我再次将oldA重命名为A.
但恐怖。惊恐的事件。当我尝试从磁盘加载一个对象时,我遇到了这个异常:
java.io.InvalidClassException:model.A;本地类不兼容:stream classdesc serialVersionUID = -4621085703760431015,本地类serialVersionUID = -3183461156231139807
我刚搞砸了,信息丢失了吗?或者有解决方案吗?