ошибка: локальный класс несовместим: поток classdec serialversionUID = ...., локальный класс serialversionUID = - PullRequest
1 голос
/ 27 декабря 2011

У меня есть сериализуемый класс Java и когда я добавляю один из следующих методов. Я получаю эту ошибку

"локальный класс несовместим: поток classdec serialversionUID = ...., локальный класс serialversionUID = ..."

добавлены методы:

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

public String getDataFileName() {
    return dataFileName;
}

что вызывает это и как я могу это исправить?

Ответы [ 3 ]

0 голосов
/ 27 декабря 2011

Даже хотя serialVersionUID такой же, некоторые изменения несовместимы с синхронизацией с предыдущей сериализованной формой.

ссылка здесь

0 голосов
/ 06 июня 2017

Я решил это, выполнив следующие действия:

Работа в Eclipse Neon.

На сервере Tomcat

  • Очистить рабочий каталог Tomcat ...
  • Очистить ... (что-то сделать, на всякий случай)

, затем

Проект

  • 'Очистить ...' выбратьпроект и нажмите «ОК»
0 голосов
/ 27 декабря 2011

Эта статья может быть полезна:

http://lingpipe -blog.com / 2010/05/04 / модернизация-ява-классы-обратно совместимая-сериализация /

При изменении сигнатур методов класса предыдущие сериализованные формы становятся несовместимыми, если классы не имеют одинаковый serialVersionUID.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...