Kann NetBeans generieren eine automatische serial version ID für eine Java-Klasse?
Möchte ich entfernen Sie einige Warnungen für einige Klassen durch die Generierung einer automatischen serial version ID. In Eclipse ist dies trivial, das zu tun -, kann die IDE generiert, automatisch und fügen Sie es der Klasse. Allerdings sehe ich nicht ein, diese Funktionalität in NetBeans. Ist es verfügbar? Wenn ja, wo ist es? Wenn nicht, gibt es ein plugin, dass es aktivieren kann?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eigentlich meine Lösung für das "problem" war deaktivieren der Warnung in meinem Projekt-Konfiguration (ich benutze Eclipse, aber ich denke, für NetBeans ist das gleiche) wie es IMHO ist die falsche Warnung: nicht mit eine serialVersion ist die sicherste Wahl, weil die JVM berechnet eine, die einzigartig ist, auf starten (so etwas wie der hash der Klasse), die beim hinzufügen explizit dann Belastungen Sie zu kümmern, Sie zu aktualisieren, wenn und nur wenn Sie inkompatible änderungen an Ihrem code.
So, wenn Sie kümmern nicht, es ist besser, zu vermeiden, dass der Wert (auf diese Weise es ist nur kompatibel mit der version kompatibel sind sicher, aber mit einigen false-positives: es denkt, das ist nicht kompatibel, aber in der Tat, es würde), anstatt es einen festen Wert, die Sie (wohl, in meinem Fall) vergessen zu aktualisieren, wenn nötig, was zu tatsächlichen Validität-Fehler (false-negative: es denkt, dass es kompatibel ist, ist es aber nicht).
Wie es scheint out of the box NetBeans das feature nicht unterstützt, aber plugins zu tun.
Bitte haben Sie einen Blick auf
link 1, link 2 und link 3
Ist dies trivial, manuell zu tun, es sei denn, Sie brauchen, um kompatibel zu bleiben mit den vorhandenen serialisierten Instanzen. Kopieren Sie einfach diese Zeile in die Klasse:
Beachten Sie, dass es gibt absolut keine Voraussetzung für die
serialVersionUID
eindeutig über Klassen.Deaktivieren dieser Warnungen in Netbeans :
Musste ich auch löschen ~/.netbeans/6.8/var/cache und starten Sie Netbeans deaktivieren Sie die Warnungen aus der Aufgaben-Liste.
(Für Benutzer, die Fragen, wo für die gleiche Frage jetzt)
Ich 'm mit nb7.4 und fand das plugin von SB6.5-nb7.4
plugin
Getestet habe ich es in nb7.4 und gut arbeiten.
Für die Bedeutung von servial version id schauen
serialVersionUID
wenn Sie fügen Sie es explizit so können alle änderungen an Ihrer Klasse ohne uid ändern, bis Sie nicht, Ihre Klasse zu serialisieren und irgendwo speichern:
wenn Sie Eine Klasse serialisieren
Ende speichern Sie es dann auf Datenbank
Ende ändern Sie dann die Klasse A nicht mehr kompatibel mit der alten Klasse A,
wenn jemand versuchen, laden der serialisierten Objekt aus der letzten Klasse Ein, um die neue Klasse Ein, die er haben kann, problem.
Beim ändern der Klasse A und machen es inkompatibel mit der letzten Klasse Ein, die Sie müssen uid ändern, so dass, wenn jemand versuchen, Sie zu laden, erhalten InvalidClassExceptions.