37 votes

Bogue avec annotation de substitution dans Eclipse

J'ai un problème ennuyeux avec @Override annotations dans Eclipse. Souvent, quand je l'importation de projets de travail sur un nouveau PC, Eclipse marques certaines de la @Override annotations erronées. Si je supprime les annotations tout est beau et Eclipse indique également que les méthodes sont prépondérantes, les parents méthodes, mais l'ajout de la Remplacer annotation provoque l'erreur à nouveau. Je suis actuellement en train de travailler sur un projet Android de sorte qu'il peut être un problème avec Android et pas avec Eclipse..

46voto

mbaird Points 31293

C'est probablement parce que vous êtes de commutation entre Java Java 1.5 et 1.6. Dans la version 1.5, vous ne pouviez pas marque implémentations d'interface avec @Override, mais vous pouvez en 1.6.

Une rapide recherche sur Google tourné cette bonne explication de la différence dans cette annotation entre les deux versions: http://www.techienuggets.com/CommentDetail?tx=38155

La sémantique de @Override est différent dans JDK JDK 1.5 et 1.6. Dans le JDK 1.5, le @Override annotation n'est pas autorisé pour les implémentations de méthodes déclarées dans une interface, alors qu'ils sont autorisés dans le JDK 1.6. Pour plus d' d'informations, voir:

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

C'est un fait que la description de l' Remplacer l'annotation n'a pas été mis à jour dans le JDK API docs. Cela a été signalé comme un bug:

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

21voto

neeraj t Points 1309

il suffit d'aller à

 window -> prefrences -> java -> compiler 

et mis à 1.6 pour que la notation commence à partir de 1.6 donc si compilence niveau de moins de 1.6 il donne une erreur

6voto

kanaparthikiran Points 91

Il y a quelques endroits où Compilateur Java paramètres sont configurés.

Une façon est d' Window->Preferences->Java->Compiler->Compiler Compliance Level -> set 1.6 or above. Une autre façon est de cliquer droit sur l' Project->Properties->Java Compiler->JDK Compliance -> Select 1.6 or above.

Aussi, Vous pouvez désélectionner "Activer les Paramètres Spécifiques d'un Projet" , ce qui permettra d'éliminer l'avenir JDK compilateur de la conformité des erreurs. Supprimer Plusieurs instances de JDK Versions , à moins que d'autres projets ont besoin.

3voto

WarrenFaith Points 28137

Assurez-vous que l'utilisation de Java SDK est à jour et que eclipse utiliser la bonne version du SDK (si vous en avez plus d'un) et traite votre projet Android avec la bonne version de SDK...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X