【问题标题】:error: local class incompatible: stream classdec serialversionUID= ...., local class serialversionUID=错误:本地类不兼容:流 classdec serialversionUID= ....,本地类 serialversionUID=
【发布时间】:2012-01-28 06:39:49
【问题描述】:

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

" 本地类不兼容:流 classdec serialversionUID= ...., 本地类 serialversionUID=..."

添加方法:

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

public String getDataFileName() {
    return dataFileName;
}

这是什么原因造成的,我该如何纠正?

【问题讨论】:

    标签: java serialization file-io


    【解决方案1】:

    这篇文章可能会有所帮助:

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

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

    【讨论】:

      【解决方案2】:

      虽然 serialVersionUID 相同,但有些更改与之前的序列化表单不兼容。

      link is here

      【讨论】:

        【解决方案3】:

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

        在 Eclipse Neon 中工作。

        在 Tomcat 服务器上

        • 清理 Tomcat 工作目录...
        • 干净...(做点什么,以防万一)

        然后

        项目

        • “清理...”选择您的项目并点击“确定”

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-02-07
          • 2018-04-21
          • 1970-01-01
          • 2014-11-11
          • 1970-01-01
          • 2018-08-21
          • 2018-07-20
          • 2020-01-06
          相关资源
          最近更新 更多