@Override nie jest dozwolone podczas implementowania metody interfejsu

87

Mam problem wymieniony w tytule. Można powiedzieć, że ten wątek powiela inny: Jak wyłączyć sprawdzanie poprawności błędów adnotacji w IntelliJ IDEA?

Ale podane tam rozwiązanie nie działa. Mówią, że muszę podjąć następujące działania:

W strukturze projektu | Okno dialogowe projektu, zmień poziom języka projektu na 6.0 - @Override w interfejsach.

Jednak obecnie poziom języka projektu to 6.0, ale nadal widzę błąd.

Vic, tutaj jest okno i nie ma wersji JVM tuż pod poziomem języka (niestety nie mogę publikować zdjęć, ponieważ mam 10 reputacji)

Nikitin Michaił
źródło
Nie mogę umieszczać obrazki ale tam nie ma żadnych opcji w ramach „Project poziom języka”, ale „wyjścia kompilatora projektu”, która nie wyglądają jak wersji JVM
Nikitin Michaił

Odpowiedzi:

126

Jeśli Twój projekt ma wiele modułów, sprawdź również, czy każdy moduł używa poziomu języka 6 lub wyższego, lub użyj poziomu języka projektu (zobacz Project Settings > Modules > xxx > Language level).

Po zmodyfikowaniu może być konieczne ponowne wczytanie projektu.

Bastien Jansen
źródło
1
tak. Mam tylko jeden moduł, ale miał on 5. wersję językową. Dziękuję
Nikitin Michaił
9
Właśnie napotkałem ten sam problem. Mój poziom języka projektu to już 6.0, ale adnotacja @Override nadal była podświetlona. Aby to naprawić, możesz otworzyć plik * .iml i ustawić LANGUAGE_LEVEL = "JDK_1_6" i przeładować projekt
Georgy Gobozov
7
Dla każdego, kto znajdzie to, kto używa wersji 2016.2.4 lub nowszej, menu się zmieniło, jest teraz Struktura projektu > Moduły> xxx> Poziom języka
Wesley Smith
51

W swoim module / projekcie kliknij prawym przyciskiem myszy, aby wyświetlić menu kontekstowe:

wprowadź opis obrazu tutaj

Wybierz Open Module Settingslub naciśnij F4. W oknach ustawień:

wprowadź opis obrazu tutaj
Ustaw wartość dla Choose Language levelsekcji.


Powinieneś również sprawdzić Project language levelw ten sposób: naciśnij Ctrl+ Alt+ Shift+S

wprowadź opis obrazu tutaj

Do Nhu Vy
źródło
26

Prostsze rozwiązanie - inline

  1. Umieść daszek na @Overridesłowie i przesuwaj go po lewej stronie, aż pojawi się czerwona ikona żarówki. Następnie kliknij na nią.

    wprowadź opis obrazu tutaj

  2. Kliknij Ustaw poziom języka na 6 - Zastąp w interfejsach

    wprowadź opis obrazu tutaj


Powyższa metoda jest alternatywą dla następującego podejścia:

  1. Przejdź do Plik> Struktura projektu ... lub naciśnij Ctrl+ Alt+ Shift+S

    wprowadź opis obrazu tutaj

  2. Przejdź do opcji Ustawienia projektu> Moduły> Źródła> Poziom języka i wybierz dowolny poziom 6 lub wyższy niż 6.

    wprowadź opis obrazu tutaj

ROMANIA_engineer
źródło
15

Jeśli używasz mavena, dodaj wtyczkę kompilatora maven do pliku pom.xml projektu.

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

To rozwiązało problem.

nuwan.chamara
źródło
3

Dla każdego modułu istnieje również poziom językowy. Sprawdź ustawienia modułu w strukturze projektu.

Peter Gromov
źródło
Właściwie nie widzę innego miejsca, w którym mogę zobaczyć poziom języka projektu, ale strukturę projektu / projekt
Nikitin Mikhail
Struktura projektu | Moduły | <your_module> | Poziom języka
Peter Gromov
0

Po raz pierwszy napotkałem ten problem podczas korzystania z wielomodułowego projektu Mavena. Jak sugerowały inne odpowiedzi / IDE, musimy ustawić poziom języka.

Zamiast zmieniać ustawienia IDE, aby projekt IDE był agnostyczny, zaktualizowałem macierzysty pom o poniższe właściwości, co rozwiązało problem.

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>
sss
źródło
0

W JIdea 2020.1.2 i powyżej ,

  1. Przejdź do struktury projektu [ Ctrl+ Alt+ Shift+ S ]
  2. Wybierz podsekcję Moduły
  3. Wybierz każdy moduł
  4. W sekcji źródła sprawdź Poziom języka
  5. Zmień poziom języka zgodnie z wymaganiami

wprowadź opis obrazu tutaj

UWAGA:

Jeśli po tej zmianie pojawi się poniższy błąd,

Error:java: Compilation failed: internal java compiler error

Musisz także zmienić docelową wersję kodu bajtowego.

  1. Przejdź do Ustawień [ Ctrl+ Alt+ S ]
  2. Wybierz Kompilator Java
  3. Wybierz moduł w tabeli
  4. Zmień wersję kodu bajtowego, aby zamapować to, co wybrano w poprzednim kroku na poziomie języka

wprowadź opis obrazu tutaj

główny
źródło