Unsupported major.minor version XX.0 에러
자바르 실행하다 보면 가끔 java.lang.UnsupportedClassVersionError
와 같은 에러 보게 된다. 이는 실행하는 JVM이 지원하지 못하는 java class version을 로드할려고 할 경우 발생한다.
에러 발생 원인
컴파일된 자바 바이트코드가 컴파일 당시의 버전보다 낮은 JRE 버전에서 실행될 때 발생한다.
Java 버전별 표시되는 에러 Version 번호
Version 뒤에 숫자는 아래와 같은 버전을 의미 한다.
- J2SE 8 = Version 52
- J2SE 7 = Version 51
- J2SE 6.0 = Version 50
- J2SE 5.0 = Version 49
- JDK 1.4 = Version 48
- JDK 1.3 = Version 47
- JDK 1.2 = Version 46
- JDK 1.1 = Version 45
확인사항
에러가 발생한 실행 java 버전정보 확인한다.
$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
해결 방법
해결 방법은 아래와 같다.
- 컴파일 버전을 위 실행 버전으로 다시 컴파일한다(하위 버전으로 컴파일시 소스 코드 오류 발생할 수 있다).
- 실행 Java 버전(jre)을 상위 버전으로 변경하여 실행한다.
참조
최종 수정 : 2017-12-25