@Override ist beim Implementieren der Schnittstellenmethode nicht zulässig

Lesezeit: 4 Minuten

Benutzer-Avatar
Nikitin Michail

Ich habe das im Titel genannte Problem. Man könnte sagen, dass dieser Thread einen anderen dupliziert: Wie schalte ich die Fehlervalidierung für Anmerkungen in IntelliJ IDEA aus?

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

In der Projektstruktur | Projektdialog, ändern Sie die Projektsprache auf 6.0 – @Override in Schnittstellen.

Allerdings ist das Projekt-Sprachlevel im Moment 6.0, aber ich sehe den Fehler immer noch.

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

  • Ich kann keine Bilder posten, aber unter “Project Language Level” gibt es keine Optionen, sondern “Projekt-Compiler-Ausgabe”, die nicht wie die JVM-Version aussieht

    – Nikitin Michail

    14. März 2013 um 8:21 Uhr

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

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

  • Jawohl. Ich habe nur ein Modul, aber es hatte die 5. Sprachzersion. Vielen Dank

    – Nikitin Michail

    14. März 2013 um 9:14 Uhr

  • Stehe gerade vor dem gleichen Problem. Mein Projektsprachniveau war bereits 6.0, aber die Annotation @Override war immer noch hervorgehoben. Um dies zu beheben, können Sie die *.iml-Datei öffnen und LANGUAGE_LEVEL=”JDK_1_6″ festlegen und das Projekt neu laden

    – Georgy Gobozov

    25. Februar 2014 um 17:11 Uhr

  • Für alle anderen, die dies finden und Version 2016.2.4 oder höher verwenden, hat sich das Menü geändert, es ist jetzt Projekt Struktur > Module > xxx > Sprachniveau

    – Wesley Smith

    20. September 2016 um 4:16 Uhr


Benutzer-Avatar
James Graham

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

Geben Sie hier die Bildbeschreibung ein

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

Geben Sie hier die Bildbeschreibung ein

Wert einstellen für Choose Language level Sektion.

Sie sollten auch überprüfen Project language level so: drücken Strg+Alt+Wechsel+S

Geben Sie hier die Bildbeschreibung ein

Eine einfachere Lösung – Inline

  1. Setzen Sie das Caretzeichen auf die @Override Wort und bewegen Sie die Einfügemarke auf der linken Seite, bis das rote Glühbirnensymbol erscheint. Dann klicken Sie darauf.

    Geben Sie hier die Bildbeschreibung ein

  2. Klicke auf Sprachlevel auf 6 setzen – Override in Interfaces

    Geben Sie hier die Bildbeschreibung ein


Die obige Methode ist eine Alternative zu folgendem Ansatz:

  1. Gehe zu Datei > Projektstruktur… oder drücken Strg+Alt+Wechsel+S

    Geben Sie hier die Bildbeschreibung ein

  2. Gehe zu Projekteinstellungen > Module > Quellen > Sprachniveau und wählen Sie eine Stufe, die 6 oder höher als 6 ist.

    Geben Sie hier die Bildbeschreibung ein

Wenn Sie Maven verwenden, fügen Sie der pom.xml-Datei 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 hat das Problem für mich gelöst.

Außerdem gibt es für jedes Modul ein Sprachniveau. Bitte überprüfen Sie Ihre Moduleinstellungen in der Projektstruktur.

  • Ich sehe eigentlich keinen anderen Ort, an dem ich das Projektsprachniveau sehen kann, als die Projektstruktur / das Projekt

    – Nikitin Michail

    14. März 2013 um 7:51 Uhr

  • Projektstruktur | Module | | Sprachniveau

    – Peter Gromov

    15. März 2013 um 7:25 Uhr

Benutzer-Avatar
sss

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

Anstatt die Einstellung der IDE zu ändern, um die Projekt-IDE agnostisch zu machen, aktualisiere ich das übergeordnete Pom mit den folgenden Eigenschaften, wodurch das Problem gelöst wurde.

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

  • Ich sehe eigentlich keinen anderen Ort, an dem ich das Projektsprachniveau sehen kann, als die Projektstruktur / das Projekt

    – Nikitin Michail

    14. März 2013 um 7:51 Uhr

  • Projektstruktur | Module | | Sprachniveau

    – Peter Gromow

    15. März 2013 um 7:25 Uhr

Im JIdea 2020.1.2 und höher,

  1. Gehe zu Projektstruktur [ Ctrl+Alt+Shift+S
    ]
  2. Auswählen Module Unterabschnitt
  3. Auswählen jeder Modul
  4. Unter Quellen-Abschnitt, Überprüfen Sie das Sprachniveau
  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. Auswählen Java-Compiler
  3. Modul in der Tabelle auswählen
  4. Ändern Sie die Bytecode-Version, um das abzubilden, was Sie im vorherigen Schritt für die Sprachebene ausgewählt haben

Geben Sie hier die Bildbeschreibung ein

1262100cookie-check@Override ist beim Implementieren der Schnittstellenmethode nicht zulässig

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy