강의

멘토링

로드맵

Inflearn brand logo image

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

wonderwall09in님의 프로필 이미지
wonderwall09in

작성한 질문수

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

빌드하고 실행하기

JRE 버전 문제

작성

·

149

·

수정됨

1


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예

[질문 내용]
안녕하세요, 강의 너무 잘 보고 있는 취업 준비생입니다 !

인텔리제이를 사용하며 강의를 따라가는 중인데, 윈도우 cmd에서 실행 시 하단 사진처럼 뜨더라고요

스크린샷(379).png

찾아보니 jre의 버전 문제라고 하는데, UnsupportedClassVersionError 라는 오류라고 하더라고요

컴파일된 클래스 파일이 현재 사용중인 jre 버전보다 더 최신 버전으로 컴파일되었다고 하는데, 이것을 해결할 방법이 있을까요 ? 혹은 해결하지 않고 이 버전을 유지하며 이번 강의 내용은 머리로만 이해하는 것이 좋을지 궁금합니다.

해결에 도움이 될 수 있을까 하여 구체적인 오류를 남깁니다 !

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/example/demo/DemoApplication has been compiled by a more recent version of the Java Runtime (class file version 67.0), this version of the Java Runtime only recognizes class file versions up to 66.0

at java.base/java.lang.ClassLoader.defineClass1(Native Method)

at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1023)

at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)

at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524)

at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427)

at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421)

at java.base/java.security.AccessController.doPrivileged(AccessController.java:714)

at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)

at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.loadClass(JarUrlClassLoader.java:107)

at org.springframework.boot.loader.launch.LaunchedClassLoader.loadClass(LaunchedClassLoader.java:91)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)

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

at java.base/java.lang.Class.forName(Class.java:529)

at java.base/java.lang.Class.forName(Class.java:508)

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

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

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

 

현재 이렇게 실행하니 8080 서버는 들어가지는 것 같은데, hello 라는 부분 클릭 시 넘어가질 않네요 ..

 

추가로, 실행한 파일을 종료할 때 ls -arlth 라는 것을 입력하시던데, 이 명령어가 종료 명령어가 맞을까요 ..?

거북이 마음으로 하나씩 의문들을 해결해나가겠습니다 좋은 강의 제공해주셔서 항상 감사드립니다 !!

답변 1

0

안녕하세요. wonderwall09in님, 공식 서포터즈 y2gcoder입니다.

문제파악을 제대로 잘하셨습니다!

에러를 쉽게 말씀드리자면,

자바 23버전에 맞게 컴파일했는데 실행을 자바 22로 하려고 한다

는 취지의 에러입니다.

해결 방법은

1) build.gradle 에서 sourceCompatibility 를 22로 변경 후 빌드

2) 컴퓨터에 설치된 JDK 22를 깔끔하게 삭제한 후 JDK 23을 설치

정도가 있을 것 같습니다!

 

그리고 추가 질문으로 해주신 ls -arlth 는 리눅스 계열의 컴퓨터 등에서 사용하는 터미널에서의 탐색 명령어입니다! cmd로 예를 들자면 dir 명령어와 동일합니다 🙂

파이팅입니다!

 

감사합니다.

wonderwall09in님의 프로필 이미지
wonderwall09in

작성한 질문수

질문하기