2012-06-08 9 views
9

Estoy usando la versión JRE 1.6 y soy consciente de los problemas de JRE 1.5 al utilizar @Override con la interfaz. Así que por favor lean más antes de otorgar cualquier voto negativo :)Error en la anotación @Override con la implementación de la interfaz

Importé un nuevo proyecto (Spring + Maven) y Eclipse dando error en cada anotación @Override cada vez que se reemplaza cualquier método de interfaz.

cosas que intenté hasta ahora

  1. proyecto de cuadros y JRE específico espacio de trabajo y el nivel de cumplimiento, se ajusta a la versión 1.6.
    enter image description here
  2. Biblioteca JRE revisada en la ruta de compilación, también es la misma.
  3. Un cambio en la versión de Java en la faceta del proyecto a 1.6 (no sé si ayudará)
    enter image description here
  4. Did Maven limpia e instalar (cien veces hasta ahora)
  5. error discapacitados/advertencia para Anotaciones sigue sin suerte enter image description here
  6. Reinicio de Eclipse (estúpido pero me ayuda mucho)
  7. La última opción eliminará todos los archivos .setting y .project si no consigo algo más que probar.

Háganme saber qué más puedo probar o qué error cometer.

Gracias.


Edición 1:
estoy consiguiendo error siguiente

The method XXX of type XXX must override a superclass method.   

Edición 2:
Código de ejemplo de declaración
interfaz

public interface HelperService { 
    public RequisitionTypeDTO getRequisitionTypeDTO(int id) throws Exception; 
}  

Implementación:

@Service 
    public class HelperServiceImpl implements HelperService{ 
    @Override // Getting error for this line 
    public RequisitionTypeDTO getRequisitionTypeDTO(int id) throws Exception{ 
         // Bla Bla Bla 
     } 
    }  

Datos 3:
soy capaz de generar y ejecutar mi aplicación con éxito independientemente de esta errores. Simplemente no estoy contento con los indicadores de error rojos en todo el código fuente.

+3

Probablemente no sea nada, pero ya que descartado todo lo demás: Son los que realmente '@ anular 'anotaciones? * Debería * ser '@ Override' con una O de capital –

+0

¿Cuál es el error? – adarshr

+0

@JoachimSauer: Ya está con un gran 'O'. Por favor dime como es su problema? – xyz

Respuesta

2

Realized no Builder está seleccionado para el proyecto actual. Seleccionado Java Builder y boom. No más banderas rojas en todo el código.

enter image description here

8

Compruebe si la interfaz RequisitionTypeDTO en el interfaz es del mismo tipo que RequisitionTypeDTO en implementación (diferentes importaciones).

Si bien entonces trate de añadir maven-compiler-plugin

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.5.1</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

y Maven ->Update project configuration... desde el menú contextual de su proyecto - porque esa es la forma en que debe establecer jre compilación.

Y, por supuesto, tratar mvn clean, en Eclipse Project ->Clean...

Si todo falla crear nuevo proyecto sencillo con código mínimo y comprobar si existe el mismo error.

+0

Gracias por sugerir. El problema fue que los constructores aplicaron al proyecto. – xyz

3

Tengo esto también, y me hizo tienen un conjunto "Java Builder". La investigación adicional mostró que el problema era que mi "Nivel de cumplimiento del compilador" se estableció en 1.5 en lugar de 1.6.

+0

Es decir, esta pregunta es efectivamente similar a http://stackoverflow.com/questions/987973/why-does-eclipse-complain-about-override-on-interface-methods – Raedwald

+0

Lo mismo aquí. Un 'proyecto de actualización' de Maven en un proyecto donde el POM no tenía una versión de Java especificada provocó el cambio. – uberdog

1

Tengo un problema similar (esto fue con un código que funcionaba perfectamente).

Hace unos minutos dejé de ver las clases en el mismo paquete (Maven java project in eclipse doesn't see classes in same package) y 'solucioné' ese error mediante la asignación de un proyecto de actualización de Maven.

Esto cambió mi nivel de compilador a 1,5 y causó una nueva emisión es decir, este tema

(fijo, cambiando de forma explícita mi nivel compilador)

Cuestiones relacionadas