작성
·
149
·
수정됨
1
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예
[질문 내용]
안녕하세요, 강의 너무 잘 보고 있는 취업 준비생입니다 !
인텔리제이를 사용하며 강의를 따라가는 중인데, 윈도우 cmd에서 실행 시 하단 사진처럼 뜨더라고요
찾아보니 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
명령어와 동일합니다 🙂
파이팅입니다!
감사합니다.