Eclipse agrega anotaciones @Override cuando implemento los métodos de una interfaz. Eclipse parece no tener ningún problema con esto. Y nuestro proceso de compilación automatizado de Cruise Control parece no tener ningún problema con esto. Pero cuando construyo desde la línea de comandos, con javac correr hormiga, me sale este error:Por qué está fallando Java en la anotación @Override
[javac] C:\path\project\src\com\us\MyClass.java:70: method does not override a method from its superclass
[javac] @Override
[javac] ^
[javac] 1 error
Eclipse se ejecuta con Java 1.6. Cruise Control ejecuta Java 1.5. Mi compilación de hormigas falla independientemente de la versión de Java que use.
Esta es una gran respuesta; Tengo algo que agregar: si por alguna razón quieres permanecer en JDK 1.5, solo tienes que actualizar a la última versión de actualización. Estoy usando u21 y compila este tipo de @Overrides muy bien. –
Cool - Lo agregaré a mi respuesta. –
Instalé tanto JDK 1.5u21 como 1.5u22 y javac no permite @Override en implementaciones de métodos de interfaz en ninguna versión. A continuación, MyRunnable implementa java.lang.Runnable: c: /Java/jdk/1.5.0_21/bin/javac MyRunnable.java MyRunnable.java:3: método no anula un método de su superclase @ Override public void run() {} ^ 1 error No se menciona en el [notas de la versión] (http://java.sun.com/j2se/1.5.0/ReleaseNotes.html), tampoco. – djb