Tengo un proyecto existente que utiliza @Override
métodos que anulan los métodos de interfaz , en lugar de métodos de superclase. No puedo alterar esto en el código, pero me gustaría que Eclpse deje de quejarse de la anotación, ya que todavía puedo construir con Maven.
¿Cómo haría para deshabilitar este error?
Nota: Debido a los requisitos del proyecto, necesito compilar para Java 1.5.
java
eclipse
interface
annotations
syntax-error
Stefan Kendall
fuente
fuente
Respuestas:
El uso de la
@Override
anotación en métodos que implementan los declarados por una interfaz solo es válido desde Java 6 en adelante. Es un error en Java 5.Asegúrese de que sus proyectos IDE estén configurados para usar un Java 6 JRE y que la "compatibilidad de origen" esté establecida en 1.6 o superior:
Recuerde que Eclipse puede anular estas configuraciones globales para un proyecto específico, así que verifíquelas también.
Actualizar:
El error en Java 5 no es solo con Eclipse; usando
javac
directamente desde la línea de comando le dará el mismo error. No es un código fuente Java 5 válido.Sin embargo, puede especificar la
-target 1.5
opción para JDK 6javac
, que producirá un archivo de clase de versión de Java 5 a partir del código fuente de Java 6.fuente
Haz lo siguiente:
Proyecto -> Propiedades -> compilador java ->
fuente
Compruebe también si el proyecto tiene faceta. La versión de Java puede ser anulada allí.
fuente
Se pueden habilitar configuraciones específicas del proyecto. Seleccione su proyecto
Project > Properties > Java Compiler
,uncheck
elEnable project specific settings
o cambioJdk 1.6
y arriba sin olvidar el correspondienteJRE
.En caso que no lo hace el trabajo, retire su proyecto de eclipse, eliminar
.settings folders
,.project
,.classpath
archivos.clean and build the project, import it back into eclipse and then reset your Java compiler. Clean and build your project
y eclipse. Funciono para mifuente
Puede cambiar la configuración del compilador para aceptar la sintaxis de Java 6 pero generar la salida de Java 5 (como recuerdo). Y configure la "Compatibilidad de archivos de clase generados" un poco más baja si es necesario para su tiempo de ejecución. Actualización : Verifiqué Eclipse, pero se queja si configuro la compatibilidad de origen en 1.6 y la compatibilidad de clase en 1.5. Si 1.6 no está permitido, generalmente comento manualmente las anotaciones ofensivas de @Override en la fuente (lo que no ayuda a su caso).
Actualización 2: si solo realiza la compilación manual, podría escribir un pequeño programa que copie el proyecto original en uno nuevo, elimine las anotaciones de @Override de las fuentes de Java y simplemente presione Limpiar proyecto en Eclipse.
fuente
También puede probar Retroweaver para crear la versión Java5 a partir de clases Java6.
fuente
Use Eclipse para buscar y reemplazar (eliminar) todas las instancias de "@Override". Luego, vuelva a agregar las anulaciones que no sean de la interfaz con "Limpiar".
Pasos:
fuente
Comprendí tu problema, cambia tu jdk de tu jdk a más de 1.5
fuente
Al configurar que los proyectos IDE estén configurados para usar un Java 6 JRE o superior, a veces no se elimina el error de eclipse. Para mí, fue de ayuda reiniciar el Eclipe IDE.
fuente
Incluso después de cambiar la configuración de cumplimiento del compilador a 1.6 o 1.7 desde la pestaña de Windows, luego las preferencias, luego Java, luego el compilador y establecer el cumplimiento del compilador, todavía tenía este problema. La idea es que debemos ir a la carpeta del proyecto, hacer clic derecho, Java y establecer el cumplimiento del compilador en 1.6 o superior. Esto funcionó para mí.
fuente