AngelPlayer`s Diary

jar 파일을 CMD 환경에서 실행하는 도중 해당 에러가 발생하였습니다.

 

 

 

# 전체 에러 코드
Exception in thread "main" java.lang.UnsupportedClassVersionError: hello/hellospring/HelloSpringApplication has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)

에러 코드의 첫 라인을 통해서 class 버전이 맞지 않는다는 문제가 발생하는 것을 알 수 있습니다.

 

간단히 알아보면, 현재 사용 중인 java 버전(52)과 맞지 않으니 버전 변경(55)을 통해서 해결해야 함을 알 수 있습니다.

 

 

 

※ Java Version (Wiki)

Java SE 18 = 62 (0x3E hex),
Java SE 17 = 61 (0x3D hex),
Java SE 16 = 60 (0x3C hex),
Java SE 15 = 59 (0x3B hex),
Java SE 14 = 58 (0x3A hex),
Java SE 13 = 57 (0x39 hex),
Java SE 12 = 56 (0x38 hex),
Java SE 11 = 55 (0x37 hex),
Java SE 10 = 54 (0x36 hex),
Java SE 9 = 53 (0x35 hex),
Java SE 8 = 52 (0x34 hex),

 

일반적으로 개발자가 의미하는 자바 버전은 SE 버전(ex. Java 8, Java 11)입니다.

 

위키의 내용을 토대로 우리는 현재 설치된(기본) 버전이 52(Java 8)이고, 이를 55(Java 11) 이상으로 변경해주어야 하는 것을 알 수 있습니다.

 

 

 

https://angelplayer.tistory.com/463

 

[Java] 자바 Version 변경하기 (feat. JAVA_HOME 적용 안될 때)

※ 사용환경 Windows Java 8(Java 1.8.0) Java 11 Java 8 -> Java 11로 변경하기 현재 사용 중인 PC에는 Java 8(Java 1.8.0)과 Java 11이 설치되어 있습니다. 그중에서 기본으로 설치된 Java 버전을 확인하고 싶으면 CMD, c

angelplayer.tistory.com

자바 버전 변경 방법은 위 링크를 참고하시면 쉽게 해결 가능합니다.

 

 

 

버전 변경 후 정상적으로 작동하는 것을 확인할 수 있습니다.

 

 

 

 

Reference

https://en.wikipedia.org/wiki/Java_class_file

 

 

 

 

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band