Intellij IDEA SettingsFind serialization class without serialVersionUID and check it. Back to the editor, clicks on the class name, ALT + ENTER (Windows), it will prompts the Add serialVersionUID field option. A new serialVersionUID is auto-generated. Done.
@JFIB The class constant serialVersionUID is generated by the compiler when not specified. Specifying has the advantage (and danger) of keeping the id identical for changed class versions. That is an file with an object of the old version will be read (deserialized) with the new version or vice versa.
SerialVersionUID is a unique identifier for each class, JVM uses it to compare the versions of the class ensuring that the same class was used during Serialization is loaded during Deserialization. Specifying one gives more control, though JVM does generate one if you don't specify.
Without any plugins:
You just need to enable highlight: (Idea v.2016, 2017 and 2018, previous versions may have same or similar settings)
File -> Settings -> Editor -> Inspections -> Java -> Serialization issues -> Serializable class without 'serialVersionUID' - set flag and click 'OK'. (For Macs, Settings is under IntelliJ IDEA -> Preferences...)
Now, if your class implements Serializable
, you will see highlight and alt+Enter on class name will ask you to generate private static final long serialVersionUID
.
UPD: a faster way to find this setting - you might use hotkey Ctrl+Shift+A
(find action), type Serializable class without 'serialVersionUID'
- the first is the one.
Easiest method: Alt
+Enter
on
private static final long serialVersionUID = ;
IntelliJ will underline the space after the =
. put your cursor on it and hit alt
+Enter
(Option
+Enter
on Mac). You'll get a popover that says "Randomly Change serialVersionUID Initializer". Just hit enter, and it'll populate that space with a random long.
Install GenerateSerialVersionUID plugin
IntelliJ IDEA Plugins / GenerateSerialVersionUID https://plugins.jetbrains.com/plugin/?idea&id=185
very nice, very easy to install. you can install that from plugins menu, select install from disk, select the jar file you unpacked in the lib folder. restart, control + ins, and it pops up to generate serial UID from menu. love it. :-)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With