@Override не допускається при реалізації методу інтерфейсу


87

У мене проблема, згадана в назві. Можна сказати, що цей потік дублює інший: Як вимкнути перевірку помилок для анотацій в IntelliJ IDEA?

Але наведене там рішення не працює. Кажуть, що мені потрібно вжити таких дій:

У структурі проекту | Діалогове вікно проекту, змініть рівень мови проекту на 6.0 - @Override в інтерфейсах.

Однак на даний момент рівень мови проекту становить 6,0, але я все ще бачу помилку.

Вік, ось вікно, і немає версії JVM прямо під рівнем мови (на жаль, я не можу розміщувати зображення, бо маю 10 репутацій)


Я не можу розміщувати зображення, але в розділі "Рівень мови проекту" немає опцій, крім "Висновок компілятора проектів", який не схожий на версію JVM
Нікітін Михайло

Відповіді:


126

Якщо ваш проект має кілька модулів, також перевірте, чи кожен модуль використовує рівень мови 6 або вище, або використовуйте рівень мови проекту (див. Project Settings > Modules > xxx > Language level).

Можливо, вам доведеться перезавантажити ваш проект, коли він буде змінений.


1
так. У мене є лише один модуль, але він мав п’яту мовну форму. Дякую
Нікітін Михайло

9
Щойно зіткнувся з тією ж проблемою. Рівень мови мого проекту вже становив 6,0, але анотація @Override все ще була виділена. Щоб виправити це, ви можете відкрити файл * .iml та встановити LANGUAGE_LEVEL = "JDK_1_6" та перезавантажити проект
Георгій Гобозов

7
Для тих, хто знайшов це, що використовує версію 2016.2.4 або пізнішу, меню змінилося, тепер воно є Структура проекту > Модулі> xxx> Рівень мови
Веслі Сміт

51

Клацніть правою кнопкою миші у своєму модулі / проекті, щоб побачити контекстне меню:

введіть тут опис зображення

Виберіть Open Module Settingsабо натисніть F4. У вікнах налаштування:

введіть тут опис зображення
Встановити значення для Choose Language levelрозділу.


Ви також повинні перевірити Project language levelтаким чином: натисніть Ctrl+ Alt+ Shift+S

введіть тут опис зображення


26

Більш просте рішення - вбудоване

  1. Покладіть каретку на @Overrideслово і рухайте каретку ліворуч, поки не з'явиться червона лампочка. Потім натисніть на нього.

    введіть тут опис зображення

  2. Клацніть на Встановити рівень мови на 6 - Замінити в інтерфейсах

    введіть тут опис зображення


Метод, наведений вище, є альтернативою наступному підходу:

  1. Перейдіть у меню Файл> Структура проекту ... або натисніть Ctrl+ Alt+ Shift+S

    введіть тут опис зображення

  2. Перейдіть до Налаштування проекту> Модулі> Джерела> Рівень мови та виберіть будь-який рівень, який становить 6 або більше 6.

    введіть тут опис зображення


15

Якщо ви використовуєте maven, додайте плагін компілятора maven до файлу pom.xml проекту.

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

Це вирішило проблему для мене.


3

Існує також рівень мови для кожного модуля. Будь ласка, перевірте налаштування модуля в структурі проекту.


Насправді я не бачу жодного іншого місця, де б я бачив рівень мови проекту, крім структури проекту / проекту
Нікітін Михайло

Структура проекту | Модулі | <твій_модуль> | Мовний рівень
Петро Громов

0

Я зіткнувся з цією проблемою вперше під час використання багатомодульного проекту maven. Як пропонують інші відповіді / IDE, нам потрібно встановити рівень мови.

Замість того, щоб змінювати налаштування IDE, щоб зробити проект IDE агностичним, я оновлюю батьківський pom з властивостями нижче, що вирішило проблему.

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

0

У JIdea 2020.1.2 і вище ,

  1. Перейдіть до Структура проекту [ Ctrl+ Alt+ Shift+S ]
  2. Виберіть підрозділ Модулі
  3. Виберіть кожен модуль
  4. У розділі джерел перевірте рівень мови
  5. Змініть рівень мови відповідно до вимог

введіть тут опис зображення

ПРИМІТКА:

Якщо після цієї зміни ви отримаєте нижче помилки,

Error:java: Compilation failed: internal java compiler error

Ви також повинні змінити цільову версію байт-коду.

  1. Перейдіть у Налаштування [ Ctrl+ Alt+ S ]
  2. Виберіть Java Compiler
  3. Виберіть модуль у таблиці
  4. Змініть версію байт-коду, щоб відобразити те, що ви вибрали на попередньому кроці, для рівня мови

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.