错误:本地类不兼容:stream classdec serialversionUID = ....,local class serialversionUID =

时间:2011-12-27 03:22:54

标签: java serialization file-io

我有一个可序列化的java类,当我添加以下任一方法时。我收到此错误

“本地类不兼容:stream classdec serialversionUID = ....,local class serialversionUID = ...”

添加方法:

public HashMap<Long, BookIndex> getBookIndexMap() {
    return bookIndexMap;
}

public String getDataFileName() {
    return dataFileName;
}

造成这种情况的原因是什么?如何纠正?

3 个答案:

答案 0 :(得分:0)

本文可能会有所帮助:

http://lingpipe-blog.com/2010/05/04/upgrading-java-classes-backward-compatible-serialization/

通过更改类的方法签名,以前的序列化表单是不兼容的,除非类具有相同的serialVersionUID。

答案 1 :(得分:0)

即使serialVersionUID相同,但某些更改与先前的序列化表单不兼容。

link is here

答案 2 :(得分:0)

我通过以下方式解决了这个问题:

在Eclipse Neon中工作。

在Tomcat服务器上

  • 清理Tomcat工作目录......
  • 清洁......(做某事,以防万一)

然后

项目

  • &#39;清洁...&#39;选择您的项目,然后点击“确定”