인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

박수빈님의 프로필 이미지
박수빈

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

52강. Spring Boot 2.7.x에서 3.0.x로 업데이트하기

3.x.x 버전 업데이트

작성

·

51

0

섹션 1에 spring initializr를 진행하다가 java 17과 spring boot 3.4.1로 변경해 진행할 수 밖에 없다고 생각되어서 커뮤니티 질문들을 보았고 52강을 먼저 보게 되었습니다. java도 17로 업데이트하였고 17로 변경한 후에 gradle도 java 17에 맞게 7.3으로 변경하였는데 이런 오류가 뜹니다 ㅠㅠ 해결법 알려주시면 감사하겠습니다

image.png

 

image.png

 

image.png

답변 2

0

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요 수빈님!! 🙂

Unsupported class file major version 이라는 에러가 나오시는군요!! 🥺

이런 경우, 설정을 잘 해주셨다면 (gradle 스크린샷과 project sdk 설정은 잘 된 것 같습니다!)

아직 남아 있는 빌드 파일이 있는 경우입니다!

gradle > claen을 한 번 해주시면 이전에 다른 버전으로 빌드 되었던 파일이 사라지며 잘 실행되실거에요! 🙂

image.png

꼭 해결되셨으면 좋겠습니다. 감사합니다! 🙇

박수빈님의 프로필 이미지
박수빈
질문자

image.pngimage.png

제가 최근에 학교에서 진행한 수업으로 eclipse 설치하고 22 버전을 다운 받은거 같은데 22로 진행해도 되는걸까요..? 주의사항이나 안되는 거 있는지 궁금합니다.. 그리구 language level에 어떤 걸 넣어야할까요..?

박수빈님의 프로필 이미지
박수빈
질문자

image.png

구글링 후 21이나 22로 설정하고 runtimeOnly 'mysql:mysql-connector-java:8.0.33' 를 코드에 더했더니 오류 없이 작동하긴하네요,, 혹시 괜찮은걸까요? 그리고 java 11버전과 17버전 다운받은건 지워도 되는지 궁금합니당

박수빈님의 프로필 이미지
박수빈
질문자

추가적으로 1강을 보던 와중에 강사님께서 의존성을 추가하지 않아 잘 출력이 안된다고 하셨는데 저는 자동으로 잘 출력이 되더라구요,,,? 자바 버전과 gradle 버전 차이일까요?

최태현님의 프로필 이미지
최태현
지식공유자

하나씩 답변 드려 볼게요!

 

제가 최근에 학교에서 진행한 수업으로 eclipse 설치하고 22 버전을 다운 받은거 같은데 22로 진행해도 되는걸까요..?

넵! Spring Boto 3.x.x 버전은 자바 17 이상이기만 하면 되어서 21 or 22 버전과도 함께 사용하실 수 있습니다. 아마 gradle clean을 하셨음에도 계속 동일 에러가 나온다면, 제가 강의 자료에 넣어드린 모든 설정이 17로 바뀌지 않은 것 같습니다 🥺 해당 에러의 의미는 "빌드된 파일 실행은 낮은 버전으로 하려 했으나 빌드는 높은 버전으로 되었습니다" 라는 뜻이거든요!

 

주의사항이나 안되는 거 있는지 궁금합니다.. 그리구 language level에 어떤 걸 넣어야할까요..?

딱히 안되는 부분은 없을 거에요! language level에는 사용하시는 JDK와 같은 버전을 넣어주시면 됩니다!

 

구글링 후 21이나 22로 설정하고 runtimeOnly 'mysql:mysql-connector-java:8.0.33' 를 코드에 더했더니 오류 없이 작동하긴하네요,, 혹시 괜찮은걸까요

넵넵! 오류가 없다면 문제 없을 것으로 보입니다! 🙂

 

추가적으로 1강을 보던 와중에 강사님께서 의존성을 추가하지 않아 잘 출력이 안된다고 하셨는데 저는 자동으로 잘 출력이 되더라구요,,,? 자바 버전과 gradle 버전 차이일까요?

아하~ 짚어 주신 부분이 어떤 강의 몇 분쯤인지 알려주시면 한 번더 확인해보겠습니다. 🙂

감사합니다!

박수빈님의 프로필 이미지
박수빈
질문자

1강 11분 54초의 내용입니다! 확인해주시면 감사하겠습니다 :)

최태현님의 프로필 이미지
최태현
지식공유자

아~~ 확인해보니 로그가 출력되지 않는다는 의미는 아니고

“실행이 되지 않지만요” 라고 표현했는데요~ 그 의미는

실행을 눌렀을 때 가장 마지막 로그가 ”Process finished with exit code 0” 라고 나왔다는 뜻이에요

즉 서버가 동작하는데 필요한 설정을 다 하지 않았기에 시작하자마자 로그를 일부 남기고 서버가 종료된겁니다!

0

안녕하세요, 인프런 AI 인턴입니다. 박수빈님!

질문하신 내용은 스프링 부트와 자바 버전의 호환성 문제로 보입니다. 현재 사용 중인 스프링 부트 버전 3.4.1과 자바 17은 호환되나, “Unsupported class file major version 65” 오류는 해당 버전보다 높은 자바 버전의 클래스 파일을 처리하려 할 때 발생합니다. 이는 JDK 21과 관련이 있으며, JDK 21의 클래스 파일 버전이 65입니다.

다음을 확인하고 시도해 보세요:

  1. JDK 버전 확인 및 설정:

    • 실제로 설치된 JDK 버전이 17인지 확인하세요. 설치 디렉터리와 환경 변수를 통해 확인할 수 있습니다.
    • 프로젝트가 JDK 17을 사용하도록 IDE (예: IntelliJ)의 JDK 설정을 확인하세요.
  2. Gradle 버전 확인 및 업데이트:

    • Gradle의 버전이 스프링 부트 3.4.1 및 자바 17과 호환되는지 확인하세요. Gradle 7.3은 자바 17을 지원하므로 문제가 되지 않을 것입니다. 하지만, 더 최신 버전의 Gradle을 사용하면 호환성 문제를 예방할 수 있습니다.
  3. Gradle JVM 설정:

    • Gradle이 프로젝트를 빌드할 때 사용하는 JVM이 JDK 17인지 확인하세요. 보통 gradle.properties 또는 프로젝트의 build.gradle에서 설정을 조정합니다.

관련된 기존 질문 및 답변은 다음에서 확인하실 수 있습니다:
- “스프링부트 버전관련 질문”
- “스프링 부트 3.0.1 자바 버전 호환성”
- “스프링 부트 gradle 빌드 오류”

위 내용에 따라 설정을 점검해 보시고, 추가로 궁금한 점이 있다면 이어서 질문해 주세요. 저희는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

박수빈님의 프로필 이미지
박수빈
질문자

image.pngimage.pngimage.png

다 맞게 설정한거 같은데 왜 안될까요,,,, gradle도 8.0으로 변경 완료했습니다! 같은 오류가 떠요..

박수빈님의 프로필 이미지
박수빈

작성한 질문수

질문하기