Als ich Eclipse verwendete , hatte es eine nette Funktion, um die UID der seriellen Version zu generieren.
Aber was tun in IntelliJ?
Wie wähle oder generiere ich eine identische UID der seriellen Version in IntelliJ?
Und was tun, wenn Sie die alte Klasse ändern?
Wenn Sie das nicht angegeben haben id
, wird es zur Laufzeit generiert ...
java
serialization
intellij-idea
nazar_art
quelle
quelle
serialVersionUID
wird vom Compiler generiert, wenn sie nicht angegeben wird. Die Angabe hat den Vorteil (und die Gefahr), dass die ID für geänderte Klassenversionen identisch bleibt. Das heißt, eine Datei mit einem Objekt der alten Version wird mit der neuen Version gelesen (deserialisiert) oder umgekehrt.Antworten:
Ohne Plugins:
Sie müssen nur die Hervorhebung aktivieren: (Idea v.2016, 2017 und 2018, frühere Versionen haben möglicherweise dieselben oder ähnliche Einstellungen)
Wenn Ihre Klasse jetzt implementiert wird
Serializable
, sehen Sie Hervorhebung und Alt + Eingabetaste für den Klassennamen schlägt vor, zu generierenprivate static final long serialVersionUID
.UPD: Ein schnellerer Weg, um diese Einstellung zu finden - Sie können einen Hotkey verwenden
Ctrl+Shift+A
(Aktion suchen), geben Sie einSerializable class without 'serialVersionUID'
- der erste ist der eine.quelle
Einfachste Methode:
Alt
+Enter
einIntelliJ unterstreicht den Raum nach dem
=
. Setzen Sie den Cursor darauf und drücken Siealt
+Enter
(Option
+Enter
auf dem Mac). Sie erhalten ein Popover mit der Aufschrift "Randomly Change serialVersionUID Initializer". Drücken Sie einfach die Eingabetaste, und dieser Bereich wird mit einer zufälligen Länge gefüllt.quelle
Installieren Sie das GenerateSerialVersionUID- Plugin
quelle
serialVersionUID
. Dies ist der Fall, wenn Sie die untergeordnete Klasse aktualisiert haben und eine neue serialVersionUID für diese Klasse generieren müssen, ohne die serialVersionUID der übergeordneten Klasse zu ändern (in Fällen, in denen keine Änderung an der übergeordneten Klasse vorgenommen wurde).IntelliJ IDEA Plugins / GenerateSerialVersionUID https://plugins.jetbrains.com/plugin/?idea&id=185
sehr schön, sehr einfach zu installieren. Sie können das über das Plugins-Menü installieren, "Von der Festplatte installieren" auswählen und die JAR-Datei auswählen, die Sie im lib-Ordner entpackt haben. Neustart, Steuerung + Ins, und es wird angezeigt, um eine serielle UID aus dem Menü zu generieren. Liebe es. :-)
quelle
Öffnen Sie im Code-Editor die Klasse, für die Sie die UID erstellen möchten, und klicken Sie mit der rechten Maustaste auf -> Generieren -> SerialVersionUID. Möglicherweise muss das Plugin GenerateSerialVersionUID installiert sein, damit dies funktioniert.
quelle