2010-09-17 34 views
34

Tengo un problema molesto con las anotaciones @Override en Eclipse. A menudo, cuando importo proyectos que funcionan en una PC nueva, Eclipse marca algunas de las anotaciones @Override como incorrectas. Si elimino las anotaciones, todo está bien y Eclipse también indica que los métodos están anulando los métodos de los padres, pero al agregar la anulación Anular, se vuelve a generar el error. Actualmente estoy trabajando en un proyecto de Android, por lo que podría ser un problema con Android y no con Eclipse ...Error al anular anotaciones en Eclipse

+0

posible duplicación de ['Debe anular los errores de un método de superclase' después de importar un proyecto a Eclipse] (http://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing -a-project-into-eclipse) – cHao

+0

podría ayudar mencionar una pregunta duplicada en http://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing-a-project- into-eclipse ... pero no sé cómo marcarlo como tal –

Respuesta

46

Esto es muy probable porque está cambiando entre Java 1.5 y Java 1.6. En 1.5 no puede marcar implementaciones de interfaz con @Override, pero puede hacerlo en 1.6.

Una rápida búsqueda en Google nos salió esta buena explicación de la diferencia en esta anotación entre las dos versiones: http://www.techienuggets.com/CommentDetail?tx=38155

Semántica de @Override es diferente en JDK 1.5 y JDK 1.6. En JDK 1.5, la anotación @Override no está permitida para las implementaciones de los métodos declaradas en una interfaz, mientras que están permitidas en JDK 1.6. Para obtener más información , ver:

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

Es un hecho que la descripción de la anotación La intercalación no se actualiza en los documentos de la API del JDK. Esto ha sido reportado como un error:

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

+0

Lo sentimos, newb aquí, ¿qué se puede hacer para deshacerse de estos errores? Actualicé mi nivel de cumplimiento del Código de Java a 1.6 y aún veo el error, quizás algo más está mal. –

3

Asegúrate de que el SDK de Java usado esté actualizado y que Eclipse use la versión de SDK correcta (si tienes más de uno instalado) y trata su proyecto Android con la versión SDK correcta ...

21

sólo tiene que ir a

window -> prefrences -> java -> compiler 

y la pusieron a 1,6 como notación se inicia desde el 1,6 por lo que si el nivel compilence será inferior a 1,6 lo hará da error

+0

Me ayudó mucho en ADT17 –

6

Hay algunos lugares donde se configuran las configuraciones del compilador de Java.

Una forma es Window->Preferences->Java->Compiler->Compiler Compliance Level -> set 1.6 or above. Otra forma es hacer clic derecho sobre el Project->Properties->Java Compiler->JDK Compliance -> Select 1.6 or above.

También Puede anular la selección de "Habilitar configuración de proyecto específicas", esto eliminará futuros errores de conformidad compilador JDK. Eliminar Múltiples instancias de versiones JDK, a menos que diferentes proyectos las necesiten.

+0

Esto resolvió mi problema. Mis preferencias de Eclipse estaban en 1.6 y siempre lo habían sido, pero mi proyecto de alguna manera se redujo a 1.5. – kjl

Cuestiones relacionadas