2008-10-22 12 views
10

En Eclipse 3.4.1 usando JDK1.6.0_10 ¿cómo puedo activar una advertencia en una anotación @Override faltante en un método que implementa un método de interfaz?Añadir advertencia de falta de anotación @Override para la implementación de interfaz en Eclipse

En la ventana de Preferencias de esta opción:

Java> Compilador> Errores/Advertencias> Anotaciones> Missing '@ Override' anotación

funciona bien para las anotaciones que faltan en los métodos que override un método de superclase, pero no hace nada por los métodos de interfaz.

+1

Java 5 y 6 de Java tienen diferentes expectativas sobre las anotaciones @ Override en las implementaciones de interfaz. No recuerdo cómo esto afecta a Eclipse, pero sé que sí. –

+0

Debería haber mencionado esto. Se agregó la versión de Java (6) a la pregunta. –

Respuesta

10

No es posible en Eclipse 3.4.1. Es un known issue. Vea esta página de informe de errores para más información.

+0

¿No está arreglado? – Pacerier

0

Tal vez me falta algo, pero las clases de implementación ya requieren implementar los métodos de interfaz.

El compilador generará un error si la interfaz no está completamente implementada.

+0

Sí, pero aún quieres esto. Consulte http://stackoverflow.com/questions/212614/should-a-method-that-implements-an-interface-method-be-annotated-with-override –

+0

Ah sí, gracias por el puntero. Debe haberlo perdido ya que todavía estoy en Java 1.5 en Mac OSX :-) – fhe

2

Asegure lo que dije en el otro hilo. Aparentemente no es una opción de compilación, sino un problema de versión de compatibilidad de Java: si tu versión de compatibilidad es 5, no podrás anotar los métodos de implementación de la interfaz. Si su versión de compatibilidad es 6, entonces podrá.

Sin embargo, no creo que exista una forma de obligar a Eclipse a generar un error si no anota cada método implementado. De this page:

Missing anotación '@ Override': Cuando se activa, el compilador emitirá un error o una advertencia cada vez que encuentra un reemplazo de métodos otro método implementado, y la anotación de la '@ Override' no se encuentra.

+0

Uso java 6 (edité la pregunta para aclarar esto. Debería haberlo hecho antes) –

+0

¿sabes si se puede hacer ahora eclipse? 4.4.1? –

1

La configuración de compatibilidad en 1.6 en lugar de 1.5 funcionó para mí en: Eclipse Java EE IDE para desarrolladores web.

Build ID: 20100218-1602

Cuestiones relacionadas