본문 바로가기
Language/Java

[Java] UnsuoortedClassVersionError 52.0 에러 해결 방법

by 애기 개발자 2022. 12. 11.
반응형

원인

Java Version 52.0 (JDK 8.0) 버전에서 만들어진 코드를

 

그 이하 버전에서 실행할 때 발생하는 오류이다.

 

해결

1. java -version 확인

 

먼저 코드를 실행하고자 하는 위치의 cmd를 켜서 java -version을 실행시키자.

 

java -version

확인해보면

 

C:\>java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

위와 같이 실행하고자 하는 위치의 자바 버전을 알 수 있는데

 

현재 서버 위치의 자바 버전은 7 버전인 것을 알 수 있다.

 

그럼 우리의 코드도 해당 버전에 맞게끔 수정을 해 주어야 한다.

 

이 외에 다른 버전일 경우 매칭 되는 버전은

 

J2SE 8   = Version 52

J2SE 7   = Version 51

J2SE 6.0 = Version 50

J2SE 5.0 = Version 49

JDK  1.4 = Version 48

JDK  1.3 = Version 47

JDK  1.2 = Version 46

JDK  1.1 = Version 45

 

위와 같다.

 

2. 내 코드 버전 낮추기

적용하고자 하는 서버 위치의 자바 버전이 7 버전이라는 것을 알았고

 

우리는 에러를 통해 우리의 자바 버전이 8 버전이라는 것도 알고 있다.

 

그래서 우리 코드도 동일하게 7 버전으로 낮춰줘야 한다.

 

코드의 패키지 우클릭 > Properties > Java Build Path > Libraries 탭 > JRE System Library 클릭 > Edit 클릭

 

 

이후

 

Execution environment에서 7버전 선택

 

위의 설정이 끝나고 나서

 

Java Compiler > Compiler compilance level이

 

올바르게 적용되어있는지 확인하면 끝

 

이후 코드를 다시 꺼내서 적용하고자 하는 서버에 다시 그대로 넣어주면

 

코드는 한 글자도 안 달라져 동일하지만

 

자바 버전은 8 > 7로 맞춰 저서

 

해당 서버에서 실행이 가능해진다.


주의 사항

위의 방법을 사용 시

 

현재 코드가 작성된 서버에서 오류가 발생할 수 있습니다.

 

자바버전을 바꿀 경우 반드시 바꿔도 되는지 잘 확인하고 바꾸시길 바랍니다.

반응형

댓글