Frage

Ich möchte zu entfernen, einige Warnungen für einige Klassen durch die Erzeugung eines automatischen serielle version ID.In Eclipse ist dies trivial zu tun -, kann die IDE generiert, automatisch, und fügen Sie ihn der Klasse.Jedoch sehe ich nicht ein, diese Funktion in NetBeans.Ist es verfügbar?Wenn ja, wo ist es?Wenn nicht, gibt es ein plugin, das es aktivieren kann?

War es hilfreich?

Lösung

Eigentlich war meine Lösung für dieses „Problem“ auf deaktivieren diese Warnung in meiner Projektkonfiguration (ich benutze Eclipse-aber ich denke, für NetBeans das gleiche ist), wie IMHO ist es eine falsche Warnung: nicht mit einem serialVersion ist die sicherste Wahl, weil die JVM berechnet man die auf Start (so etwas wie die Hash der Klasse) beim Hinzufügen explizit dann belastet Sie Sorge zu tragen, es dann und nur zu aktualisieren, wenn Sie inkompatible Änderungen an Ihrem Code.

Also, wenn Sie, dass sie sich nicht, ist es besser, diesen Wert zu vermeiden (auf diese Weise mit nur Version kompatibel ist, die kompatibel sind sicher , aber mit einigen falsch-positiven Ergebnissen: denkt, dass es das ist, nicht kompatibel, aber in der Tat vergessen, es würde) anstatt, einen Wert festgelegt, dass Du würde (wahrscheinlich, in meinem Fall) zu aktualisieren, wenn nötig, zu tatsächlichen Gültigkeit Fehlern führen (falsch-Negativ: es denkt, dass es kompatibel ist, aber es nicht ist).

Andere Tipps

Es scheint, wie NetBeans aus der Box nicht der Funktion nicht unterstützt, aber Plug-In zu tun.

Bitte schauen Sie auf

Link 1 , link 2 und link 3

Dies ist trivial auch manuell zu tun, es sei denn, Sie mit dem bestehenden serialisiert Instanzen kompatibel bleiben müssen. Kopieren Sie einfach diese Zeile in die Klasse:

private static final long serialVersionUID = 1L;

Beachten Sie, dass es absolut keine Notwendigkeit für die serialVersionUID über Klassen eindeutig zu sein.

Um diese Warnungen in Netbeans zu deaktivieren:

  1. Öffnen: Extras -> Optionen
  2. Öffnen: Editor -> Hinweise Tab
  3. Wählen Sie Sprache: Java
  4. Deaktivieren Sie die Option Standard-Javac Warnungen -> Serialisierung
  5. OK

Ich musste auch klar ~ / .netbeans / 6,8 / var / cache und Neustart Netbeans die Warnungen aus der Aufgabenliste löschen.

(Für Benutzer, die Fragen, wo für die gleiche Frage jetzt)
I 'm using nb7.4 und gefunden, das plugin von SB6.5 nb7.4
plugin
Getestet habe ich es in nb7.4 und gut arbeiten.Für die Bedeutung von servial id version anschauen
serialVersionUID
wenn Sie fügen Sie es explizit, die Sie machen können, ändern Sie Ihre Klasse ohne uid ändern, bis Sie haben nicht Ihre Klasse serialisiert und speichern irgendwo:wenn Sie erstellen Eine Klasse zu serialisieren
Ende speichern Sie es dann auf Datenbank
- Ende ändern Sie dann der Klasse A nicht mehr kompatibel mit der alten Klasse A,
wenn jemand versuchen zu laden Sie die serialisierte Objekt aus der letzten Klasse Ein, um die neue Klasse Ein, kann er problem haben.

Wenn Sie die Klasse ändern Ein und machen es inkompatibel mit der letzten Klasse Ein, die Sie ändern müssen, uid-also, wenn jemand versuchen zu laden Sie es bekommen InvalidClassExceptions.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top