인프런 커뮤니티 질문&답변

terecal님의 프로필 이미지

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

빌드하고 실행하기

jar 을 실행할때 에러가 발생해요

작성

·

36K

0

jar 을 실행할때 에러가 발생해요  이 에러를 어떻게 고치는지 알려주시면 감사여 

C:\my_java\hello-spring\build\libs>java -jar hello-spring-0.0.1-SNAPSHOT.jar

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(Unknown Source)

        at java.security.SecureClassLoader.defineClass(Unknown Source)

        at java.net.URLClassLoader.defineClass(Unknown Source)

        at java.net.URLClassLoader.access$100(Unknown Source)

        at java.net.URLClassLoader$1.run(Unknown Source)

        at java.net.URLClassLoader$1.run(Unknown Source)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.net.URLClassLoader.findClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Unknown Source)

        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)

        at org.springframework.boot.loader.Launcher.launch(Launcher.java:109)

        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)

        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)

답변 3

6

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. terecal님 sojung님 말씀처럼 OS에 설치된 자바 버전에 문제가 있습니다.

오류 메시지를 보면 숫자가 나오는데요. 다음으로 이해하시면 됩니다.

55 = Java 11

52 = Java 8

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

로컬PC에 자바 버전이 8로 운영중인 것으로 보입니다. 11로 다시 설치해주세요^^!

감사합니다.

저 같은 경우에 8버전으로도 같이 공부를 하고 있었고 SE 8버전은 집파일이 아니라 설치 파일로 설치를 하다보니 알수없는 힘(?)에 의해 cmd java -version은 환경변수를 11버전으로 바꾸어도 8버전을 유지하더라구요

그래서 약간 편법인지 모르겠지만 programfiles/java/ 폴더 아래에 8버전 jdk를 백업해 두고 프로그램 추가제거로 삭제한 다음 jdk만 다시 넣어서 기존의 프로젝트를 유지하면서 이제 java와 javac -version이 둘다 정상적으로 11로 돌아갑니다ㅠ

저처럼 둘다 사용하고 싶은 분들은 이 방법도 괜찮겠죠?

김영한님의 프로필 이미지
김영한
지식공유자

네 java 11로 동작하기만 하면 됩니다.

감사합니다.

5

terecal님의 프로필 이미지
terecal
질문자

sojung님과 강사님이 알려주신대로 자바 버젼의 문제인것 같아여  자바 버젼이 두개(8 , 14) 설치되었던거 같은데 하나를 지우니까 에러가 발생하지 않고 실행되네여 환경 변수도 삭제 했어여 해결책을 알려주셔서 감사합니다 

5

안녕하세요. 저도 좀 전에 이 오류가 났다가 해결했는데요. 저같은 경우에 jdk 11과 jre(1.8.0)를 모두 설치했었는데 jre를 삭제하고 컴퓨터를 다시 시작했더니 오류가 사라졌습니다. 도움되시길 바랍니다.

terecal님의 프로필 이미지

작성한 질문수

질문하기