Я играл с GWT, и у меня, кажется, есть дурная привычка создавать классы, которые не соответствуют правилу для сериализуемых объектов GWT:
Пользовательский класс является сериализуемым, если применимо все следующее:
- Это присваивается IsSerializable или Serializable, либо потому, что он непосредственно реализует один из этих интерфейсов, либо потому, что он наследует
из суперкласса, который делает
- Все неокончательные, непереходные поля экземпляров сами по себе сериализуемы, и
- Начиная с GWT 1.5, он должен иметь конструктор по умолчанию (без аргумента) (с любым модификатором доступа) или вообще не иметь конструктора.
Обычно я забываю включить конструктор по умолчанию. Обычно я узнаю об этом, когда получаю исключение сериализации во время выполнения. Это кажется мне ненужным. Конечно, есть какой-то способ, которым Eclipse (или плагин Google) может статически анализировать мой код GWT и обнаружить этот сбой во время компиляции? Видеть немного красного волнистого где-то бесконечно приятнее, чем получить исключение во время выполнения.
Я надеюсь на решение, подобное одному из следующих, в порядке возрастания желания:
- Параметр конфигурации, который я могу установить в Eclipse или плагине Google, чтобы включить этот вид предупреждения / проверки
- Дополнительный плагин, который я могу установить, чтобы сделать это
- Любой другой существующий ранее способ выполнить работу.
- Подсказки о том, как я могу изменить плагин Google, чтобы сделать это самостоятельно.