Inspectopedia Help

Serializable class without 'serialVersionUID'

Reports classes that implement Serializable and do not declare a serialVersionUID field.

Without a serialVersionUID field, any change to the class will make previously serialized versions unreadable.

Example:

class Main implements Serializable { }

After the quick-fix is applied:

class Main implements Serializable { private static final long serialVersionUID = -1446398935944895849L; }

When using a language level of JDK 14 or higher, the quickfix will also add the java.io.Serial annotation.

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

SerializableHasSerialVersionUIDField
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | JVM languages

Use the following options to configure the inspection:

  • List classes whose inheritors should not be reported by this inspection. This is meant for classes that inherit Serializable from a superclass but are not intended for serialization.

  • Whether to ignore Serializable anonymous classes.

Inspection options

Here you can find the description of settings available for the Serializable class without 'serialVersionUID' inspection, and the reference of their default values.

Ignore subclasses of

[java.awt.Component]

Ignore anonymous classes

Not selected

Availability

By default bundled with

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin

Java, 241.18072

Last modified: 18 June 2024