반응형
Unsupported major.minor version 52.0
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/Catalina/startup/Bootstrap : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1 (Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
...
version 52.0은 Java 8(jdk 1.8) 이상의 버전이 필요하나 현재 이보다 버전이 낮아 발생하는 에러이다.
나의 경우에는 서버에 jdk 1.7이 설치되어 있었는데, jdk 1.8을 새로 설치함으로써 헤딩 에러를 해결할 수 있었다.
jdk 1.8을 설치하는 두 가지 방법
1. yum으로 설치
https://acetes-mate.tistory.com/218
2. 직접 파일을 넣는 수동 설치
https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases
위 링크에 접속하여 파일을 다운받는다. 나는 리눅스 서버였기 때문에 OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz를 다운받았다.
해당 파일은 /usr/lib에 java 디렉토리를 생성한 후 이곳에 업로드하고 압축 해제한다. 이미 java 디렉토리가 있다면 거기다가 업로드를 하면 된다.
cd /usr/lib
mkdir java
cd java -- /usr/lib/java 여기에 다운받은 tar.gz 파일 업로드
tar -zxvf OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz -- 압축 해제
압축 해제를 하고나면 alternatives 링크를 변경하는 작업을 해야한다. 먼저 java와 javac, jar를 install한 뒤 set 한다.
alternatives --install /usr/bin/java java /usr/lib/java/openjdk-8uXXX-XXX/bin/java 1
alternatives --install /usr/bin/javac javac /usr/lib/java/openjdk-8uXXX-XXX/bin/javac 1
alternatives --install /usr/bin/jar jar /usr/lib/java/openjdk-8uXXX-XXX/bin/jar 1
alternatives --set java /usr/lib/java/openjdk-8uXXX-XXX/bin/java
alternatives --set /usr/bin/javac javac /usr/lib/java/openjdk-8uXXX-XXX/bin/javac
alternatives --set /usr/bin/jar jar /usr/lib/java/openjdk-8uXXX-XXX/bin/jar
그리고 alternatives의 config의 java 버전을 1.8로 설정한다. 이때 버전별로 java 목록이 뜨는데 java 1.8인 번호를 입력한다. 나의 경우 3번이었다.
alternatives --config java
그 다음, /etc/profile 파일에서 환경변수를 설정한다.
vi /etc/profile -- 아래 export 내용 추가
export JAVA_HOME=/usr/lib/java/openjdk-8uXXX-XXX -- 압축 해제한 jdk 파일명
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
source /etc/profile -- /etc/profile을 실행시켜 환경변수 적용
Java 버전이 1.8로 잘 적용됐는지 확인한다.
java -version
openjdk version "1.8.0_XXX"
반응형