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)을 상위 버전으로 변경하여 실행한다.

참조

http://dwfox.tistory.com/25