본문 바로가기
Infra & Server Dev

[펌] error : java.lang.UnsupportedClassVersionError

by 필팔청춘 2013. 12. 2.

java.lang.UnsupportedClassVersionError 

(Unsupported major.minor version 49.0)  <- 이거 중요하다. 잘 외워두자

이 에러는 자바의 컴파일 버전이 충돌이 나서이다.
하위버전의 클래스파일을 상위버전이 읽어들일때는 상관없지만 
상위버전의 클래스파일을 하위버전이 읽어올때는 위와 같은 에러를 낸다

< 에러 상세코드 >
version 50.0   컴파일 버전 : 1.6 
version 49.0   컴파일 버전 : 1.5
version 48.0   컴파일 버전 : 1.4

해결책>>

내텀퓨터 ->속성 -> 고급-> 환경변수에서 자바의 버전을 알맞게 셋팅한다. 
즉... 상위 버전에서 컴파일된 파일들은 모두 자신이 현재 쓸려고 하는 하위버전대로 다시 컴파일 하여야 한다.


진짜 해결>>

컴파일시 발생하는 Unsupported major.minor version 49.0 에러 원인 

Unsupported major.minor version 49.0 에러 딱보니 버전문제다.
JRE 라이브러리 버젼을 통일시켜 주었는데도 안된다.
뭐가 문제냐!! 바로 컴파일시 JDK버젼이 문제였다.
프로젝트 프로퍼티에서 Java Compiler탭에서 Compiler compliance level을 설정을 변경해주자

이상 끝~
컴파일러의 jre 버전이 5.0 인데 웹서버 (톰켓)의 jre 버전이 1.4이거나 낮은 버전일 경우
다음과 같은 에러가 발생한다


출처 : http://mars0717.egloos.com/1061030