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
[Linux] yum으로 java 설치
처음에 CentOS를 깔고 터미널에서 명령어 java -version 또는 which java를 입력했을 때 아무 것도 안뜰 수 있다. 그럴 때 java를 설치해주어야 하는데, 먼저 jdk-devel 패키지가 깔려있는지 확인해야 한다. jd
acetes-mate.tistory.com
2. 직접 파일을 넣는 수동 설치
https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases
Releases · AdoptOpenJDK/openjdk8-upstream-binaries
Archived release scripts/releases of OpenJDK 8u project builds. Superseded by Eclipse Temurin releases. - AdoptOpenJDK/openjdk8-upstream-binaries
github.com
위 링크에 접속하여 파일을 다운받는다. 나는 리눅스 서버였기 때문에 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"