Domanda

Vorrei rimuovere alcune avvertenze per alcune classi generando un serial ID automatica versione. In Eclipse, questo è banale da fare - l'IDE in grado di generare automaticamente uno e aggiungerlo alla classe. Tuttavia, non vedo questa funzionalità in NetBeans. È disponibile? Se cosi, dov'è? In caso contrario, c'è un plugin che può attivarla?

È stato utile?

Soluzione

In realtà la mia soluzione a questo "problema" è stato quello di disattivare tale avvertimento nella mia configurazione del progetto (io uso Eclipse, ma credo che per NetBeans è lo stesso) come IMHO è un avvertimento sbagliato: non avere un serialVersion è la scelta più sicura in quanto la JVM calcola uno che è unica sul lancio (qualcosa come l'hash della classe), mentre l'aggiunta in modo esplicito poi grava di prendersi cura di aggiornarlo se e solo se sono state apportate modifiche incompatibili al codice.

Quindi, se non si cura di quello, è meglio evitare che il valore (in questo modo è compatibile solo con la versione che sono compatibili di sicuro , ma con alcuni falsi positivi: si pensa che sia non è compatibile, ma in realtà sarebbe) invece di mettere lì un valore fisso che si sarebbe (forse, nel mio caso) dimenticare di aggiornare quando necessario, portando ad errori di validità reali (falsi negativi: si pensa che sia compatibile ma non è).

Altri suggerimenti

Sembra fuori dalla scatola NetBeans non supporta la funzionalità, ma i plug-in.

Si prega di dare un'occhiata a

collegamento 1 , Link 2 e Link 3

Questa è banale da fare manualmente, così, a meno che non è necessario rimanere compatibile con le istanze serializzati esistenti. Basta copiare questa linea nella classe:

private static final long serialVersionUID = 1L;

Si noti che non v'è assolutamente alcun obbligo per il serialVersionUID di essere univoco in classi.

Per disattivare questi avvisi in NetBeans:

  1. Apri: Strumenti -> Opzioni
  2. Apri: Editor -> Suggerimenti scheda
  3. Seleziona lingua: Java
  4. avvertimenti Deseleziona standard javac -> serializzazione
  5. OK

Ho dovuto anche per cancellare ~ / .netbeans / 6,8 / var / cache e riavviare Netbeans per cancellare gli avvertimenti dall'elenco Attività.

(Per utente in cui chiedere stessa domanda ora)
I 'm utilizzando nb7.4 e ho trovato questo plugin da nb6.5 a nb7.4
plug
L'ho provato in nb7.4 e lavorare bene. Per il significato versione Servial id sguardo
serialVersionUID
se si aggiunge in modo esplicito si può fare tutti i cambiamenti alla vostra classe senza modificare UID fino ad avere non la classe serializzato e memorizzare da qualche parte: se si crea la classe A serializzare esso
concluderà poi memorizzarlo su base di dati
Fine quindi cambiare classe A fare non più compatibile con la vecchia classe A,
quando qualcuno tenta di caricare l'oggetto serializzato dall'ultima classe A per la nuova classe A può avere problemi.

Quando si cambia classe A e renderlo incompatibile con l'ultima classe A è necessario modificare uid quindi se qualcuno tenta di caricare otterrà InvalidClassExceptions.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top