@Override ist bei der Implementierung der Schnittstellenmethode nicht zulässig

86

Ich habe das im Titel erwähnte Problem. Sie könnten sagen, dass dieser Thread einen anderen dupliziert: Wie deaktiviere ich die Fehlerüberprüfung für Anmerkungen in IntelliJ IDEA?

Aber die dort gegebene Lösung funktioniert nicht. Sie sagen, dass ich folgende Maßnahmen ergreifen muss:

In der Projektstruktur | Ändern Sie im Projektdialog die Projektsprachenstufe in den Schnittstellen auf 6.0 - @Override.

Das Sprachniveau des Projekts ist derzeit jedoch 6.0, aber ich sehe immer noch den Fehler.

Vic, hier ist das Fenster und es gibt keine JVM-Version direkt unter der Sprachstufe (leider kann ich keine Bilder posten, weil ich 10 Ruf habe)

Nikitin Mikhail
quelle
Ich kann keine Bilder posten, aber es gibt keine Optionen unter "Project Language Level", sondern "Project Compiler Output", die nicht wie die JVM-Version aussehen
Nikitin Mikhail

Antworten:

124

Wenn Ihr Projekt mehrere Module enthält, überprüfen Sie auch, ob jedes Modul die Sprachstufe 6 oder höher verwendet, oder verwenden Sie die Sprachstufe des Projekts (siehe Project Settings > Modules > xxx > Language level).

Möglicherweise müssen Sie Ihr Projekt neu laden, sobald es geändert wurde.

Bastien Jansen
quelle
1
Ja. Ich habe nur ein Modul, aber es hatte die 5. Sprachversion. Vielen Dank
Nikitin Mikhail
9
Ich stand gerade vor dem gleichen Problem. Meine Projektsprachenstufe war bereits 6.0, aber die Annotation @Override wurde immer noch hervorgehoben. Um dies zu beheben, können Sie die * .iml-Datei öffnen und LANGUAGE_LEVEL = "JDK_1_6" setzen und das Projekt neu laden
Georgy Gobozov
7
Für alle anderen diese zu finden , die Version 2016.02.04 oder höher verwendet wird , hat das Menü geändert, es ist jetzt Projektstruktur > Module> xxx> Sprachniveau
Wesley Smith
50

Klicken Sie in Ihrem Modul / Projekt mit der rechten Maustaste, um das Kontextmenü anzuzeigen:

Geben Sie hier die Bildbeschreibung ein

Wählen Open Module Settingsoder drücken F4. In Einstellungsfenstern:

Geben Sie hier die Bildbeschreibung ein
Wert für Choose Language levelAbschnitt einstellen .


Sie sollten Project language leveldies auch folgendermaßen überprüfen : Drücken Sie Ctrl+ Alt+ Shift+S

Geben Sie hier die Bildbeschreibung ein

Mach Nhu Vy
quelle
25

Eine einfachere Lösung - Inline

  1. Setzen Sie das Caret auf das @OverrideWort und bewegen Sie das Caret auf der linken Seite, bis das rote Lampensymbol angezeigt wird. Dann klicken Sie darauf.

    Geben Sie hier die Bildbeschreibung ein

  2. Klicken Sie auf Sprachstufe auf 6 setzen - In Schnittstellen überschreiben

    Geben Sie hier die Bildbeschreibung ein


Die obige Methode ist eine Alternative zum folgenden Ansatz:

  1. Gehen Sie zu Datei> Projektstruktur ... oder drücken Sie Ctrl+ Alt+ Shift+S

    Geben Sie hier die Bildbeschreibung ein

  2. Gehen Sie zu Projekteinstellungen> Module> Quellen> Sprachstufe und wählen Sie eine beliebige Stufe aus, die 6 oder höher als 6 ist.

    Geben Sie hier die Bildbeschreibung ein

ROMANIA_engineer
quelle
15

Wenn Sie maven verwenden, fügen Sie der Datei pom.xml des Projekts das Maven-Compiler-Plugin hinzu.

<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>

Dies löste das Problem für mich.

nuwan.chamara
quelle
3

Es gibt auch ein Sprachniveau für jedes Modul. Bitte überprüfen Sie Ihre Moduleinstellungen in der Projektstruktur.

Peter Gromov
quelle
Ich sehe eigentlich keinen anderen Ort, an dem ich das Niveau der Projektsprache sehen kann, außer Projektstruktur / Projekt
Nikitin Mikhail
Projektstruktur | Module | <Ihr_Modul> | Sprachniveau
Peter Gromov
0

Ich bin zum ersten Mal auf dieses Problem gestoßen, als ich ein Maven-Projekt mit mehreren Modulen verwendet habe. Wie in anderen Antworten / IDE vorgeschlagen, müssen wir das Sprachniveau festlegen.

Anstatt die Einstellung der IDE zu ändern, um die Projekt-IDE agnostisch zu machen, aktualisiere ich den übergeordneten POM mit den folgenden Eigenschaften, wodurch das Problem behoben wurde.

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

In JIdea 2020.01.02 und oben ,

  1. Gehe zur Projektstruktur [ Ctrl+ Alt+ Shift+ S ]
  2. Wählen Sie den Unterabschnitt Module
  3. Wählen Sie jedes Modul aus
  4. Aktivieren Sie im Abschnitt Quellen die Sprachstufe
  5. Ändern Sie das Sprachniveau nach Bedarf

Geben Sie hier die Bildbeschreibung ein

HINWEIS:

Wenn Sie nach dieser Änderung den folgenden Fehler erhalten,

Error:java: Compilation failed: internal java compiler error

Sie müssen auch die Ziel-Bytecode-Version ändern.

  1. Gehe zu Einstellungen [ Ctrl+ Alt+ S ]
  2. Wählen Sie Java Compiler
  3. Wählen Sie das Modul in der Tabelle aus
  4. Ändern Sie die Bytecode-Version, um das zuzuordnen, was Sie im vorherigen Schritt für die Sprachstufe ausgewählt haben

Geben Sie hier die Bildbeschreibung ein

Prime
quelle