Aggiungi un avviso per l'annotazione @Override mancante per l'implementazione dell'interfaccia in Eclipse
-
03-07-2019 - |
Domanda
In Eclipse 3.4.1 utilizzando JDK1.6.0_10 come posso attivare un avviso su un'annotazione @Override
mancante su un metodo che implementa un metodo di interfaccia?
Nella finestra Preferenze questa opzione:
Java > Compilatore > Errori / Avvertenze > Annotazioni > Manca "@Override" annotazione
funziona bene per le annotazioni mancanti sui metodi che sovrascrivono un metodo superclasse, ma non fa nulla per i metodi di interfaccia.
Soluzione
Non è possibile in Eclipse 3.4.1. È un problema noto . Vedi questa pagina di segnalazione bug per maggiori informazioni.
Altri suggerimenti
Assicurati quello che ho detto nell'altro thread. Apparentemente non è un'opzione del compilatore, ma un problema di versione di compatibilità Java: se la tua versione di compatibilità è 5, non sarai in grado di annotare i metodi di implementazione dell'interfaccia. Se la tua versione di compatibilità è 6, sarai in grado di farlo.
Tuttavia non credo che ci sia un modo per forzare Eclipse a generare un errore se non si annota ogni metodo implementato. Da questa pagina :
Annotazione "@Override" mancante: se abilitato, il compilatore emetterà un errore o un avviso ogni volta che incontra un metodo che sostituisce un altro metodo implementato e manca l'annotazione "@Override".
L'impostazione di compatibilità su 1.6 invece di 1.5 ha funzionato per me su: IDE Java EE di Eclipse per sviluppatori Web.
ID build: 20100218-1602
Forse mi manca qualcosa, ma i metodi di interfaccia devono già essere implementati dalle classi di implementazione.
Il compilatore genererà un errore se l'interfaccia non è completamente implementata.