본문 바로가기
Hello World/Troubleshooting

Java 에러 - Unsupported major.minor version 58.0

by Run DaramG 2020. 12. 16.
에러

eclipse 에서 컴파일한 binary를 command 창에서 실행 시 아래와 같은 version 문제가 발생함.

Exception in thread "main" java.lang.UnsupportedClassVersionError: <class> : Unsupported major.minor version 58.0

 

원인

컴파일한 Java 버전보다 낮은 버전에서 실행할 때 발생함.

이클립스에서는 Java Version 58.0 (JavaSE-14) 버전으로 컴파일하고, 실행은 낮은 버전(Version 51)에서 실행하였음.

cmd 창에서 실행하는 버전은 JavaSE-1.7 로, java -version 명령어로 확인가능.

 

JavaSE-1.7 = Version 51

JavaSE-1.8 = Version 52

JavaSE-9 = Version 53

.

.

.

JavaSE-14 = Version 58

 

 

해결 방법

이클립스의 환경을 실행버전과 동일한 버전에서 컴파일하도록 변경한다. 이클립스의 설정을 변경하거나, 특정 프로젝트만 지정해서 컴파일 설정을 변경할 수 있다.

 

1. 이클립스 설정 변경

최상단 메뉴의 Windows - Preferences 클릭

Preferences 창에서 Java - Compiler 클릭 -> Compiler 버전 선택

 

2. 프로젝트 설정 변경

Project Explorer 에서 프로젝트명 우클릭 -> Build Path - Configure Build Path 클릭

Properties 창에서 Java Compiler 클릭 -> Use compliance from execution enviroment Java 체크 해제 -> Compiler 버전을 선택

 

댓글