@Override не допускается при реализации метода интерфейса
У меня есть проблема, упомянутая в названии. Можно сказать, что этот поток дублирует другой: как отключить проверку ошибок для аннотаций в IntelliJ IDEA?
Но решение, данное там, не работает. Они говорят, что мне нужно предпринять следующее действие:
В структуре проекта | Диалог проекта, измените уровень языка проекта на 6.0 - @Override в интерфейсах.
Тем не менее, уровень языка проекта на данный момент равен 6.0, но я все еще вижу ошибку.
Вик, вот окно и нет версии JVM прямо на уровне языка (к сожалению, я не могу публиковать изображения, потому что у меня 10 репутации)
5 ответов
Если в вашем проекте несколько модулей, также убедитесь, что в каждом модуле используется уровень языка 6 или выше, или используйте уровень языка проекта (см. Project Settings > Modules > xxx > Language level
).
Возможно, вам придется перезагрузить ваш проект после его изменения.
В вашем модуле / проекте щелкните правой кнопкой мыши, чтобы увидеть контекстное меню:
выберите Open Module Settings
или нажмите F4. В настройках окон:
Установить значение для Choose Language level
раздел.
Вы также должны проверить Project language level
таким образом: нажмите Ctrl+Alt+Shift+S
Более простое решение - встроенное
Положите каретку на
@Override
и переместите курсор слева, пока не появится красная лампочка. Затем нажмите на него.Нажмите Установить уровень языка на 6 - Переопределить в интерфейсах
Вышеприведенный метод является альтернативой следующему подходу:
Если вы используете 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>
Это решило проблему для меня.
Там также уровень языка для каждого модуля. Пожалуйста, проверьте настройки вашего модуля в структуре проекта.
Я впервые столкнулся с этой проблемой при использовании многомодульного проекта maven. Как предлагали другие ответы / IDE, нам нужно установить уровень языка.
Вместо того, чтобы изменять настройку IDE, чтобы сделать проект IDE независимым, я обновляю родительский pom с указанными ниже свойствами, что решило проблему.
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
В JIdea 2020.1.2 и выше,
- Перейти к структуре проекта [ Ctrl+Alt+Shift+S ]
- Выберите подраздел " Модули"
- Выберите каждый модуль
- В разделе источников проверьте уровень языка
- Изменение уровня языка в соответствии с требованиями
НОТА:
Если после этого изменения вы получите ошибку ниже,
Error:java: Compilation failed: internal java compiler error
Вы также должны изменить целевую версию байт-кода.
- Зайдите в настройки [ Ctrl+ Alt+ S ]
- Выберите компилятор Java
- Выберите модуль в таблице
- Измените версию байт-кода, чтобы сопоставить то, что вы выбрали на предыдущем шаге для уровня языка