@Override no está permitido al implementar el método de interfaz

87

Tengo el problema mencionado en el título. Se podría decir que este hilo duplica otro: ¿Cómo desactivo la validación de errores para las anotaciones en IntelliJ IDEA?

Pero la solución dada allí no funciona. Dicen que necesito tomar la siguiente acción:

En la estructura del proyecto | Cuadro de diálogo Proyecto, cambie el Nivel de idioma del proyecto a 6.0 - @Override en interfaces.

Sin embargo, el nivel de idioma del proyecto es 6.0 en este momento, pero todavía veo el error.

Vic, aquí está la ventana y no hay una versión de JVM justo debajo del nivel de idioma (desafortunadamente no puedo publicar imágenes porque tengo 10 reputación)

Nikitin Mikhail
fuente
No puedo publicar imágenes, pero no hay opciones en "Nivel de idioma del proyecto" sino en "Salida del compilador del proyecto", que no se parece a la versión de JVM
Nikitin Mikhail

Respuestas:

126

Si su proyecto tiene varios módulos, también verifique que cada módulo use el nivel de idioma 6 o superior, o use el nivel de idioma del proyecto (ver Project Settings > Modules > xxx > Language level).

Es posible que deba volver a cargar su proyecto una vez que se modifique.

Bastien Jansen
fuente
1
si. Solo tengo un módulo, pero tenía el quinto lenguaje. Gracias
Nikitin Mikhail
9
Solo enfrenté el mismo problema. El nivel de idioma de mi proyecto ya era 6.0, pero la anotación @Override aún estaba resaltada. Para solucionarlo, puede abrir el archivo * .iml y configurar LANGUAGE_LEVEL = "JDK_1_6" y volver a cargar el proyecto
Georgy Gobozov
7
Para cualquier otra persona que encuentre esto usando la versión 2016.2.4 o superior, el menú ha cambiado, ahora es Estructura del proyecto > Módulos> xxx> Nivel de idioma
Wesley Smith
51

En su módulo / proyecto, haga clic derecho para ver el menú contextual:

ingrese la descripción de la imagen aquí

Elija Open Module Settingso presione F4. En la configuración de ventanas:

ingrese la descripción de la imagen aquí
Establecer valor para la Choose Language levelsección.


También debe verificar Project language levelde esta manera: presione Ctrl+ Alt+ Shift+S

ingrese la descripción de la imagen aquí

Do Nhu Vy
fuente
26

Una solución más simple: en línea

  1. Coloque el símbolo de intercalación en la @Overridepalabra y mueva el cursor del lado izquierdo hasta que aparezca el icono de bombilla roja. Luego haz clic en él.

    ingrese la descripción de la imagen aquí

  2. Haga clic en Establecer nivel de idioma en 6 - Anular en interfaces

    ingrese la descripción de la imagen aquí


El método anterior es una alternativa al siguiente enfoque:

  1. Vaya a Archivo> Estructura del proyecto ... o presione Ctrl+ Alt+ Shift+S

    ingrese la descripción de la imagen aquí

  2. Vaya a Configuración del proyecto> Módulos> Fuentes> Nivel de idioma y elija cualquier nivel que sea 6 o superior a 6.

    ingrese la descripción de la imagen aquí

RUMANIA_engineer
fuente
15

Si está utilizando maven, agregue el complemento del compilador de maven al archivo pom.xml del proyecto.

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

Esto me resolvió el problema.

nuwan.chamara
fuente
3

También hay un nivel de idioma para cada módulo. Compruebe la configuración de su módulo en la Estructura del proyecto.

Peter Gromov
fuente
De hecho, no veo ningún otro lugar donde pueda ver el nivel de lenguaje del proyecto, excepto la estructura / proyecto del proyecto
Nikitin Mikhail
Estructura del proyecto | Módulos | <tu_módulo> | Nivel de idioma
Peter Gromov
0

Me encontré con este problema por primera vez mientras usaba un proyecto maven de múltiples módulos. Como sugirieron otras respuestas / IDE, necesitamos establecer el nivel de idioma.

En lugar de cambiar la configuración de IDE, para hacer que el IDE del proyecto sea independiente, actualizo el pom principal con las propiedades siguientes, lo que resolvió el problema.

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>
sss
fuente
0

En JIdea 2020.1.2 y superior ,

  1. Ir a Estructura del proyecto [ Ctrl+ Alt+ Shift+ S ]
  2. Seleccione la subsección Módulos
  3. Seleccione cada módulo
  4. En la sección de fuentes, verifique el nivel de idioma
  5. Cambie el nivel de idioma según sea necesario

ingrese la descripción de la imagen aquí

NOTA:

Si obtiene el siguiente error después de este cambio,

Error:java: Compilation failed: internal java compiler error

También debe cambiar la versión del código de bytes de destino.

  1. Ir a Configuración [ Ctrl+ Alt+ S ]
  2. Seleccione el compilador de Java
  3. Seleccionar módulo en la tabla
  4. Cambie la versión del código de bytes para asignar lo que seleccionó en el paso anterior para el nivel de idioma

ingrese la descripción de la imagen aquí

principal
fuente