개발 이슈

[Java, Kotlin] UnsupportedClassVersionError 해결하기

날아다니는 앱개발자 2025. 9. 20. 18:11

Exception in thread "main" java.lang.UnsupportedClassVersionError

UnsupportedClassVersionError

UnsupportedClassVersionError 는 Java 혹은 Kotlin 에서

실행 환경이 잘못 설정돼있을 때 발생할 수 있는 에러 중 하나이다.


해당 에러는 실행하고자 하는 class 파일 버전프로젝트 JRE(자바 실행 환경) 가 호환되지 않을 때 발생한다.

 

간단히 설명하자면

각 JDK 버전마다 실행 가능한 class 파일의 최대 버전이 정해져있고

이 버전을 넘어서는 class 파일을 실행했을 때 발생한다.

 

보통 IDE 에서 처음 프로젝트를 생성할 때

JDK 버전을 수동으로 설정하고 프로젝트를 생성하면서 해당 에러가 발생할 수 있다.

해결 방법

이 경우 2가지 방법으로 해결이 가능하다.

1.  내 프로젝트에서 생성되는 class file 버전을 낮춘다

settings - build,execution,delpotyment - compiler - java compiler

에 들어가서 project bytecode version 을 낮추면 된다.

 

 

코틀린은 모듈 단위 설계가 가능한데

만약 특정 모듈의 버전만 따로 설정하고 싶다면 모듈 단위 build.gradle 파일에 들어가서

kotlin jvmToolChainjdkVersion 을 수정해도 된다.

 

 

다만 위와 같은 해결 방법의 경우 코틀린 언어에서 제공하는 최신 기능 사용이 제한될 수도 있다.

2. JRE 버전을 높인다

이 경우는 이미 만들어져있는 class file 을 실행해야되는 상황에 적합하다.
IDE 상단 run 버튼 옆에 edit configuration 에 들어가서

JRE 에서 더 높은 버전의 JDK 를 선택하고 실행하면 된다.