WAS/Tomcat

[Tomcat/Error] Unsupported major.minor version 52.0

Ma_Sand 2023. 10. 13. 00:09
반응형

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"
반응형