인터페이스 메서드를 구현할 때 @Override가 허용되지 않습니다.


89

제목에 언급 된 문제가 있습니다. 이 스레드가 다른 스레드와 중복된다고 말할 수 있습니다. IntelliJ IDEA에서 주석에 대한 오류 유효성 검사를 어떻게 해제합니까?

그러나 거기에 주어진 해결책은 작동하지 않습니다. 그들은 내가 다음과 같은 조치를 취해야한다고 말합니다.

프로젝트 구조에서 | 프로젝트 대화 상자에서 인터페이스에서 프로젝트 언어 수준을 6.0-@Override로 변경합니다.

그러나 현재 프로젝트 언어 레벨은 6.0이지만 여전히 오류가 표시됩니다.

Vic, 여기에 창이 있고 언어 수준 바로 아래에 JVM 버전이 없습니다.


이미지를 게시 할 수는 없지만 "프로젝트 언어 수준"에는 옵션이 없지만 JVM 버전처럼 보이지 않는 "프로젝트 컴파일러 출력"
Nikitin Mikhail

답변:


127

프로젝트에 여러 모듈이있는 경우 모든 모듈이 언어 수준 6 이상을 사용하는지 확인하거나 프로젝트의 언어 수준을 사용합니다 (참조 Project Settings > Modules > xxx > Language level).

프로젝트가 수정되면 다시로드해야 할 수도 있습니다.


1
예. 모듈이 하나 밖에 없지만 5 번째 언어 인증을 받았습니다. 감사합니다
Nikitin Mikhail

9
같은 문제에 직면했습니다. 내 프로젝트 언어 수준은 이미 6.0 이었지만 @Override 주석은 여전히 ​​강조 표시되었습니다. 당신이 * .iml 파일 및 설정 LANGUAGE_LEVEL = "JDK_1_6"하고 다시로드 프로젝트를 열 수 있는지 해결하려면
게오르기 Gobozov

7
버전 2016.2.4 이상을 사용하는 다른 사용자의 경우 메뉴가 변경되었습니다. 이제 프로젝트 구조 > 모듈> xxx> 언어 수준
Wesley Smith

52

모듈 / 프로젝트에서 컨텍스트 메뉴를 보려면 마우스 오른쪽 버튼을 클릭하십시오.

여기에 이미지 설명 입력

를 선택 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 이상의 레벨을 선택하십시오.

    여기에 이미지 설명 입력


15

maven을 사용하는 경우 프로젝트의 pom.xml 파일에 maven 컴파일러 플러그인을 추가합니다.

<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

또한 모든 모듈에 대한 언어 수준이 있습니다. 프로젝트 구조에서 모듈 설정을 확인하십시오.


사실은 내가 프로젝트 언어 수준이지만 프로젝트 구조 / 프로젝트를 볼 수있는 다른 장소에 표시되지 않습니다
니 키틴 미하일

프로젝트 구조 | 모듈 | <사용자 모듈> | 언어 레벨
피터 Gromov

0

다중 모듈 메이븐 프로젝트를 사용하는 동안 처음으로이 문제가 발생했습니다. 다른 답변 / 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. 고르다 자바 컴파일러
  3. 테이블에서 모듈 선택
  4. 이전 단계에서 선택한 언어 수준을 매핑하도록 바이트 코드 버전을 변경합니다.

여기에 이미지 설명 입력

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.