[JAVA] java.lang.UnsupportedClassVersionError: Bad version number in .class file

[JAVA] java.lang.UnsupportedClassVersionError: Bad version number in .class file

아래 오류가 발생했다.

java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class org.apache.commons.codec.binary.Base64)

UnsupportedClassVersionError 는 클래스들 간 서로 컴파일 버전이 맞지 않는 경우 발생하는 오류다.

commons-codec-1.8.jar 파일 안에 있는 org.apache.commons.codec.binary.Base64 패키지의 class 를 로드하다가 오류가 난 것이다.

확인 결과 commons-codec-1.8.jar 는 jdk1.6 으로 컴파일된 jar 였고, 내가 작업하는 프로젝트의 컴파일 버전은 jdk1.5 였다.

해결책은

(1) 사용하는 jar에 맞게 프로젝트의 클래스 컴파일 버전을 높이거나

(2) 프로젝트의 클래스 컴파일 버전에 맞게 사용하는 jar의 버전을 낮추면 된다.

commons-codec-1.8.jar 파일을 commons-codec-1.3.jar 로 교체하여 해결함.

참고로 commons-codec-1.3.jar 는 jdk1.2 로 컴파일된 jar 이다.