source

Eclipse는 왜 @Override on interface methods에 대해 불평하는가?

goodcode 2022. 12. 25. 11:13
반응형

Eclipse는 왜 @Override on interface methods에 대해 불평하는가?

기존 프로젝트에서는 다음을 사용하고 있습니다.@Override슈퍼클래스 메서드가 아닌 인터페이스 메서드를 덮어쓰는 메서드입니다.코드로는 변경할 수 없지만, 아직 Maven과 함께 만들 수 있기 때문에 Eclpse가 주석에 대해 불평하지 않았으면 합니다.

이 에러를 무효로 하려면 어떻게 해야 하나요?

주의: 프로젝트 요건 때문에 Java 1.5용으로 컴파일해야 합니다.

「 」의 @Override인터페이스에 의해 선언된 메서드를 구현하는 방법에 대한 주석은 Java 6 이후에서만 유효합니다.Java 5 java java java java java java java java

IDE 프로젝트가 Java 6 JRE를 사용하도록 설정되어 있고 "소스 호환성"이 1.6 이상으로 설정되어 있는지 확인합니다.

  1. [ Window ]> [ Preferences ]대화 상자를 엽니다.
  2. [ Java ]> [ Compiler ]으로 이동합니다.
  3. 여기서 "컴파일러 컴플라이언스 수준"을 1.6으로 설정합니다.

Eclipse는 특정 프로젝트에 대해 이러한 전역 설정을 재정의할 수 있으므로 이러한 설정도 확인하십시오.


업데이트:

.Java 5를 사용하면 Eclipse를 할 수 있습니다.javac명령줄에서 직접 명령을 실행하면 동일한 오류가 나타납니다.유효한 Java 5 소스 코드가 아닙니다.

이 경우 은 할 수 있습니다.-target 1.5의 JDK 6 javacJava 6 5 5 、 Java 5 、 Java 5 java java java java java 。

다음을 수행합니다.

프로젝트 -> 속성 -> Java 컴파일러 ->

  • 프로젝트별 설정 사용 - '예'
  • 컴파일러 준거 - 1.6
  • 생성된 클래스 파일 및 소스 호환성 - 1.5

프로젝트에 패싯이 있는지 여부도 확인합니다.Java 버전은 거기에서 덮어쓸 수 있습니다.

이치노 하기 ★★★★★★★★★★★★★★★★★★★★」Project > Properties > Java Compiler,uncheckEnable project specific settings 변경(변경)Jdk 1.6, 하는 「」, 「」를 말아 주세요.JRE
않는 는, 해 주세요.또, 「일식」을 삭제해 주세요..settings folders,.project,.classpathclean and build the project, import it back into eclipse and then reset your Java compiler. Clean and build your project효과가 있었다.

Java 6 구문을 받아들이도록 컴파일러 설정을 변경할 수 있지만 Java 5 출력을 생성할 수 있습니다(내 기억으로는).또한 런타임에 필요한 경우 "생성된 클래스 파일 호환성"을 약간 낮게 설정합니다.업데이트:Eclipse를 확인했는데 소스 호환성을 1.6으로, 클래스 호환성을 1.5로 설정하면 불만입니다.1.6이 허용되지 않는 경우, 보통 문제가 되는 @Override 주석을 소스로 수동으로 코멘트합니다(이것은 당신의 경우에 도움이 되지 않습니다).

업데이트 2:수동 빌드만 하면 원래 프로젝트를 새 프로젝트로 복사하고 자바 소스에서 @Override 주석을 삭제한 후 Eclipse에서 Clean project를 클릭하는 작은 프로그램을 작성할 수 있습니다.

또한 Retroweaver를 사용하여 Java6 클래스에서 Java5 버전을 만들 수도 있습니다.

Eclipse를 사용하여 "@Override"의 모든 인스턴스를 검색 및 교체(제거)합니다.그런 다음 "Clean Up"을 사용하여 비 인터페이스 재정의를 다시 추가합니다.

순서:

  1. 원본 파일이 들어 있는 프로젝트 또는 폴더를 선택하십시오.
  2. Search(검색)> Search...(Ctrl-H)로 이동하여 Search(검색) 대화 상자를 엽니다.
  3. 파일 검색 탭으로 이동합니다.
  4. "Containing text"에 "@Override"를 입력하고 "File name patterns"에 "*.java"를 입력합니다."Replace..."를 클릭한 다음 "OK"를 클릭하여 "@Override"의 모든 인스턴스를 제거합니다.
  5. [ Window ]> [ Preferences ]> [ Java ]> [ Code Style ]> [ Clean Up ]으로 이동하여 새 프로파일을 만듭니다.
  6. 프로파일을 편집하고 [Missing Code]> [ Add missing annotations ]> [ @Override ]를 제외한 모든 항목의 선택을 취소합니다.[ Implementations of interface methods ]체크박스를 끄겠습니다
  7. 원본 파일이 들어 있는 프로젝트 또는 폴더를 선택하십시오.
  8. [ Source ]> [ Clean Up ... ](Alt + Shift + s 、 u )를 선택하고 [Finish]를 선택하여 비인터페이스 오버라이드를 추가합니다.

문제를 이해했습니다.jdk를 jdk에서 1.5 이상으로 변경합니다.

Java 6 JRE 이상을 사용하도록 IDE 프로젝트를 설정해도 이클립스 오류가 제거되지 않을 수 있습니다.Eclipe IDE를 재기동하면 도움이 됩니다.

Windows 탭에서 컴파일러 준거 설정을 1.6 또는 1.7로 변경하고, 다음으로 Java, 컴파일러 준거 설정을 해도 이 문제가 계속 발생하고 있습니다.프로젝트 폴더에 들어가 우클릭 후 Java를 사용하여 컴파일러 준거를 1.6 이상으로 설정해야 합니다.이건 나한테 효과가 있었어.

언급URL : https://stackoverflow.com/questions/987973/why-does-eclipse-complain-about-override-on-interface-methods

반응형