2010-09-17 19 views
34

Ho un fastidioso problema con le annotazioni @Override in Eclipse. Spesso quando importo progetti di lavoro su un nuovo PC, Eclipse contrassegna alcune delle annotazioni @Override come errate. Se rimuovo le annotazioni, tutto va bene ed Eclipse indica anche che i metodi stanno sovrascrivendo i metodi dei genitori, ma aggiungendo l'annotazione Override provoca nuovamente l'errore. Attualmente sto lavorando su un progetto Android quindi potrebbe essere un problema con Android e non con Eclipse ..Bug con annotazioni Override in Eclipse

+0

possibile duplicazione di errori di tipo "Sostituisci un metodo di superclasse" dopo l'importazione di un progetto in Eclipse] (http://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing -a-project-in-eclipse) – cHao

+0

potrebbe aiutare a menzionare domande duplicate su http://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing-a-project- in-eclissi ... ma non so come contrassegnarlo come tale –

risposta

46

Questo è molto probabilmente perché stai passando da Java 1.5 a Java 1.6. In 1.5 non è possibile contrassegnare le implementazioni dell'interfaccia con @Override, ma è possibile farlo in 1.6.

Una rapida ricerca su Google alzato questa buona spiegazione della differenza in questa annotazione tra le due versioni: http://www.techienuggets.com/CommentDetail?tx=38155

Semantica di @Override è diverso in JDK 1.5 e JDK 1.6. In JDK 1.5, l'annotazione @Override non è consentita per le implementazioni dei metodi dichiarate in un'interfaccia, mentre sono consentite in JDK 1.6 mentre . Per ulteriori informazioni , vedi:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5008260 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6399361 http://blogs.oracle.com/ahe/?entry=override

È fatto che la descrizione dell'annotazione Override non è stato aggiornato nella documentazione API JDK. Questo è stato segnalato come un bug:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6501053bugdatabase/view_bug.do?bug_id=6501053

+0

Scusa, newb qui, cosa si può fare per sbarazzarsi di questi errori? Ho aggiornato il mio livello di conformità del codice Java a 1.6 e vedo ancora l'errore, forse qualcos'altro è sbagliato. –

3

Assicurarsi che l'SDK Java utilizzato sia aggiornato e che eclissi utilizzi la versione SDK corretta (se ne hai più di uno installato) e tratta il tuo progetto Android con la versione SDK corretta ...

21

basta andare a

window -> prefrences -> java -> compiler 

e impostarlo a 1,6 come notazione parte da 1,6 quindi se il livello compilence sarà inferiore a 1.6 lo farà restituisce l'errore

+0

Mi ha aiutato molto su ADT17 –

6

Ci sono alcuni punti in cui sono configurate le impostazioni del compilatore Java.

Un modo è a Window->Preferences->Java->Compiler->Compiler Compliance Level -> set 1.6 or above. Un altro modo è fare clic destro sul Project->Properties->Java Compiler->JDK Compliance -> Select 1.6 or above.

Inoltre è possibile deselezionare "Attiva progetto Impostazioni specifiche", questo eliminerà futuri errori di conformità del compilatore JDK. Rimuovi più istanze di versioni JDK, a meno che non siano necessari progetti diversi.

+0

Questo ha risolto il mio problema. Le mie preferenze di Eclipse erano a 1.6 e lo erano sempre state, ma il mio progetto in qualche modo si è ridotto a 1.5. – kjl

Problemi correlati