2013/11/18

Java.lang.UnsupportedClassVersionError Unsupported major.minor version 51.0 에러 // JSP, JVM, 자바

1. java.lang.UnsupportedClassVersionError 발생 원인


java.lang.UnsupportedClassVersionError는 높은 버전의 JDK에서 컴파일한 class 파일을 낮은 버전의 JDK에서 실행을 해서 발생하는 에러입니다.



2. Java 의 버전 확인 방법


1) 이클립스의 Java 버전

프로젝트명에서 마우스 우클릭 -> Properties -> Java Compiler -> Compiler compliance level 확인



이클립스의 Java 버전 확인


저는 1.7 버전을 사용중이로군요! -o-a



2) 내 PC(MS 윈도우즈 7 기준)의 Java 버전

윈도우즈 키 + R 을 눌러서 실행 메뉴를 띄운 다음,

'cmd'를 입력하고 엔터.


아래처럼 뜨는 콘솔창에서

'java -version' 을 입력하고 엔터.


내 PC(윈도우즈)의 Java 버전 확인


* 환경변수에서 path 설정을 하지 않은 경우에는 java -version 명령이 안 먹을 수 있습니다. 이러한 경우에는 java가 설치된 경로로 이동해서 명령어를 실행하거나 path 설정을 먼저 해주세요~



3) 서버의 Java 버전

이클립스의 Remote System Explorer 에서 Ssh Terminals 에서 마우스 우클릭 -> Launch Terminal


터미널 창이 뜨면

java -version 을 입력하고 엔터

서버의 Java 버전 확인


어이쿠! 서버의 Java는 1.6 버전입니다.



즉, 저와 같은 환경에서는

이클립스에서 사용 중인 Java는 1.7 버전이고, Cafe24.com 서버에서 사용 중인 Java는 1.6 버전이므로

컴퓨터에서 java 파일을 컴파일 해서 나온 class 파일을 Cafe24.com 서버에 업로드 하면 위와 같은 에러가 발생하게 됩니다.


해결책은 2-1에서 보았던, 이클립스의 Compiler compliance level을 서버 버전에 맞도록(저의 경우에는 1.6 이하) 조정해서 컴파일을 하면 됩니다.



참고:
http://vivekraicdac.blogspot.in/2013/02/javalangunsupportedclassversionerror.html


댓글 없음:

댓글 쓰기