728x90
반응형
이클립스에서 자바 프로젝트를 실행하는 도중에 아래와 같은 에러를 만났다.
Exception in thread "main" java.lang.UnsupportedClassVersionError
요놈의 정체는 뭘까.
1. 원인
내 자바 프로젝트는 메인 프로젝트와 미들웨어 프로젝트가 연결되어 있는 프로젝트인데, 모두 java 8 버전을 사용한다.
당연히 JRE 라이브러리도 8버전으로 맞춰져 있어야 한다.
미들웨어 프로젝트는 정상적으로 실행되었다.
왜냐하면 Java Build Path에 빌드되어 있는 라이브러리들 중에 JAR 버전이 8버전이기 때문이다.

그러나 문제는 메인 프로젝트가 에러가 나면서 실행이 되지 않는다.

Exception in thread "main" java.lang.UnsupportedClassVersionError: path/mainprojectName : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
왜냐하면 java build path에 빌드되어 있는 JRE 버전은 7버전이기 때문이다.

자바 8버전을 사용하고 있는데 정작 빌드되어 있는 JRE 버전은 7버전이니
서로 버전이 맞지 않아 에러가 난 것이다.
결론은 JRE 버전을 8버전으로 변경해야 한다.
2. 해결
자바 프로젝트 마우스 우측 클릭 > Build Path > Configure Build Path

Java Build Path > Libraries > JRE System Library 클릭 > 우측 Edit 클릭

Alternate JRE 라디오 버튼 체크 후 Installed JREs

jdk-1.8 버전 선택 > Apply and Close
미리 설치가 되어 있다면 jdk 1.8 버전 선택 후 종료.
설치 안되어 있다면 Add 누르고 jdk 8 버전 불러와서 적용시키기.

완료 후 프로젝트 클린 후 다시 실행하면 정상적으로 실행된다.
728x90
반응형
'[Project] > 업무일지' 카테고리의 다른 글
| [Ajax/Get요청] GET 400 (Bad Request) (2) | 2025.07.21 |
|---|---|
| [카카오 공유하기] 카카오톡 공유(개발 모드) 요청 실패 ([adbrix] ERROR: network offline) (0) | 2025.05.15 |
| [JavaScript(ES5)/JSP] 바코드 스캔/인식 기능 개발 (+라이브러리 추천) (1) | 2025.04.23 |
| 회원탈퇴 시 쿠키 삭제하기(JavaScript) (1) | 2024.12.27 |
| 전역변수 vs 지역변수 (0) | 2024.12.16 |