에러
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 버전을 선택
'Hello World > Troubleshooting' 카테고리의 다른 글
[ERROR] java: illegal character: '\ufeff' (0) | 2022.04.14 |
---|---|
[삼성 패스 오류 해결] samsung pass를 일시적으로 사용할 수 없습니다. 나중에 다시 해보세요. (255) 에러 (1) | 2021.03.05 |
[Android] Build sandboxing disabled due to nsjail error. This may become fatal in the future. (0) | 2021.01.20 |
Gerrit 에러 - Missing Change-Id in message footer (0) | 2020.12.16 |
댓글