Фон
Я пытаюсь сгенерировать serialVersionUID моих java-файлов в eclipse, но получаю сообщение об ошибке, описанное в Eclipse: Невозможно сгенерировать идентификатор серийной версии .Я следовал инструкциям в этом вопросе, но у меня нет пропущенных файлов пути и все еще получаю ту же ошибку.Кроме того, я должен использовать случайно сгенерированный serialVersionUID (хотя обычно нормально использовать только 1L ), потому что это требование моего проекта.
Проблема
Поскольку мое затмение не работает, я пытаюсь найти решение из командной строки.Команда, которую я нашел, serialver , не генерирует serialVersionUID.Согласно Как генерировать SerialVersionUID serialver должен генерировать serialVersionUID в файле:
- команда serialver
JDK имеет команду сборки вназывается «serialver» для автоматической генерации serialVersionUID.В этом примере вы используете «serialver» для генерации serialVersionUID для класса Address.
E:\workspace\target\classes>serialver Address Address: static final
long serialVersionUID = -687991492884005033L;
Однако я выполнил эту команду на одном из моих классов в каталоге класса, и терминал вернул этоошибка:
Class Classname.java not found.
Эта ошибка выдается независимо от того, набрал ли я serialver Classname
или serialver Classname.java
в терминале.Я также запустил его в том же каталоге, что и файлы, и ошибка не исчезла.
Вопрос
Как использовать serialver
в командной строке Linux для установки serialVersionUID файла Java?Если serialver
не является командой, которую я должен использовать, то какая команда (или серия команд) является правильным методом?
Уточнение
Я хочу иметь сгенерированный и назначенный serialVerionUID в моемфайл из командной строки , поэтому программный подход Как программно генерировать serialVersionUID в Java? - это не то, что я ищу.Другими словами, я хочу, чтобы команда генерировала этот бит кода в верхней части моего файла:
private static final long serialVersionUID = <some random long>;