2011-10-19 12 views
21

Anche se questa classe non è destinata a essere serializzabile, ricevo questo avviso insolito! Qualcuno potrebbe farmi sapere se hai trovato un avviso così strano ?!: classe serial serial [serial] SomeClass non ha definizione di serialVersionUID

C:\Documents and Settings\...filename.java:60: warning: [serial] serializable class SomeClass has no definition of serialVersionUID 
public class NewPortalConnection extends javax.swing.JFrame { 

saluti

risposta

36

Questo avviso viene quando si deriva da una classe che implementa Serializable. Nel tuo caso, la classe gen Serializable è JFrame.

È possibile sopprimere questo avviso con @SuppressWarnings ("seriale") oppure assegnare alla classe un IDVersione seriale: private static final long serialVersionUID = ...; (con un valore lungo per i punti).

C'è un discussion qui su SO su cui è preferibile.

+0

Quindi cosa pensi che dovrei fare per sbarazzarmi di questo avvertimento ??! – Sam

+0

Ho aggiunto le opzioni alla risposta. –

+0

Grazie S.L. Barth per la risposta precisa e puntuale! Mi hai salvato un sacco di hasstle! Ti auguro il meglio! – Sam

4

Se si conosce la vostra applicazione non serializza le cose, ecco un modo per eliminare l'avviso del tutto.

Aggiungi -Xlint:-serial agli argomenti della riga di comando di javac. Ad esempio,

javac -Xlint -Xlint:-serial *****

In questo modo si avrà tutte le avvertenze tranne "di serie".

Problemi correlati