왕초보 개발일지/오류보고

References to interface static methods are allowed only at source level 1.8 or above

n년차초보개발자 2023. 8. 24. 16:42
728x90
반응형

어느날
References to interface static methods are allowed only at source level 1.8 or above

라는메시지와함께 servlet오류가 발생하며

서버가 올라가지 않았다..

 

나의 절친 챗지피티에게 먼저 물어보았다

 

클래스의 생성자에서 오류가 발생한 것으로 보이는데, 이 오류는 Java 컴파일 시 문제가 있어서 발생한 것 같습니다. 해당 오류 메시지에 따르면 "References to interface static methods are allowed only at source level 1.8 or above"라는 내용이 나오는데, 이는 인터페이스의 정적 메서드에 대한 참조가 Java 1.8 버전 이상에서만 허용된다는 의미입니다.

따라서 현재 코드가 Java 1.8 이상의 버전에서 컴파일되도록 설정되어 있는지 확인하고, 만약 그렇지 않다면 프로젝트 빌드 설정을 수정하여 Java 1.8 이상으로 설정해야 할 것입니다. 그리고 해당 코드에서 사용되는 인터페이스 정적 메서드 호출에 대해서도 문제가 없는지 확인해야 합니다.

 

아주 깔끔하게 원인분석을 해준다

 

순서대로 진행하니 해당오류가 사라졌다 챗지피티 땡큐.. 나같은 야매개발자한테는 너무고마운친구야..

  1. 프로젝트의 Java 버전 확인 및 변경:
    • 이클립스에서 해당 프로젝트를 우클릭하고 'Properties'를 선택합니다.
    • 'Java Build Path'에서 'Libraries' 탭으로 이동합니다.
    • 'JRE System Library' 항목의 Java 버전이 1.8 이상으로 설정되어 있는지 확인합니다. 만약 1.8 미만으로 설정되어 있다면, 적절한 Java 버전으로 변경합니다.
  2. 프로젝트의 컴파일러 설정 확인:
    • 'Properties' 창에서 'Java Compiler'로 이동합니다.
    • 'Enable project specific settings' 옵션이 선택되어 있는지 확인합니다. 이 옵션이 선택되어 있어야만 프로젝트별로 별도의 컴파일러 설정을 적용할 수 있습니다.
    • 'JDK Compliance' 항목을 확인하고, 여기서도 Java 버전이 1.8 이상으로 설정되어 있는지 확인합니다.
  3. 소스 레벨 확인:
    • 'Java Compiler' 설정에서 'Use compliance from execution environment on the Java build path' 옵션이 선택되어 있는지 확인합니다.
    • 이 옵션이 선택된 경우, 프로젝트의 Java 버전은 해당하는 실행 환경에서 지정한 버전을 따르게 됩니다. 따라서 실행 환경도 적절한 Java 버전을 사용하도록 설정되어 있는지 확인합니다
728x90
반응형