"has been compiled by a more recent version" 에러 해결

코코블루·2022년 3월 14일
0

이 글은 일전에 친구들에게 소개하는 글이었습니다. 이 글은 다른 글과 달리 경어체가 아니라도 양해를 부탁드립니다.

"Class has been compiled by a more recent version of the Java Runtime" 에러 해결

Eclipse Class Runtime 에러가 발생한 경우 아래를 참고하여 해결한다.


에러의 원인

이전에 작업하던 내용이 더 높은 JDK에서 구동되었는데 지금은 더 낮은 JDK에서 구동되기 때문에 생기는 문제입니다.

즉, 에러에 나온 Class file Version보다 높은 버전을 사용하거나 사용할 JDK 외에는 모두 삭제해야합니다.

JDK 11 설치 < 개인적으로 추천

저 같은 경우에는 LTS인 JDK 11을 설치하는 것을 강력 권장하는 바입니다. 특히, 학생 때 배우는 라이브러리 등이 높은 버전을 지원하지 않을 가능성이 상당히 높습니다.

Java SE Development Kit 11- - Downloads | Oracle 대한민국
MS OpenJDK


Eclipse에서 상위 버전 JDK삭제

이 글의 케이스는 JDK 16 버전과 JDK 8 버전이 공존해서 생긴 문제였습니다.

일단 Eclipse에서 JDK 16의 존재를 삭제시키는 것이 중요하다. Eclipse 상단에서 Windows → Preferences에 들어간다. 그 후, 나오는 왼쪽 탭에 Java → Installed JREs에 들어간다.

그럼 아마도 위의 상태일 확률이 높은데, JDK 11을 추가하고, JDK 16을 제거해 볼 것이다.

오른쪽의 Add... 를 누르고 나오는 창에서 Standard VM을 누르고 Next를 누른다.

그 후, JRE home의 오른쪽에 있는 Directory...을 누르고, 아래 경로로 이동한다.

C:\Program Files\Java

그럼, Jdk가 여러개 나오는데 jdk 11의 폴더에 들어가서 폴더 선택을 누른다.

위와 같이 뜨면 정상이니 Finish를 누른다.

그 다음 jdk 11에 체크해주고 jdk 16은 remove 한다.

그 다음 Compiler 탭에 들어가서 JDK Compliance를 11로 조정한다.


모든 설정이 끝나면 'Project → Clean...'을 누르고 모든 Project를 Clean 해준다.

Clean all projects에 체크하고 Clean 진행

profile
Have A Happy Coding Time!

0개의 댓글