본문 바로가기
Development/Spring Boot

Spring Initializr 에서 선택한 자바 버전은 어떤 의미일까?

by Nahwasa 2023. 4. 3.

목차

     

    Spring Initializr는 자바 버전을 선택할 수 있다!

     

      근데 알다시피 스프링 부트 3.0 부터는 자바 17 이상을 써야 하는데, Spring Initializr는 아무튼 버튼은 그대로 표출되어 있다. 이와 관련된 에러는 '스프링부트 3.0.0 프로젝트 생성시 에러 해결법' 에서 볼 수 있다. 그럼 궁금한건 그럼 저 "자바 버전을 선택하는게 어떤 의미가 있나?" 라는 부분이었다.

     

     

    자바 버전을 변경하면 바뀌는 부분

      스프링부트 2.7.X 버전이하일 경우 자바 버전을 바꾸면 변경되는 부분은 build.gradle의 sourceCompatibility 부분이다.

     

      그리고 스프링부트 3.0.x 버전의 경우, 분명 3.0.0 초창기에는 Spring Initializr로 생성 시 17버전이 아니라면 저 부분에 선택한대로 적용이 됬던걸로 기억하는데, 현재는 3.0.X 버전인 경우 17 미만의 버전 선택 시 알아서 17버전으로 변경되어서 다운로드 된다!

     

     

    짧은 결론

    1. Spring Initializr 에서 자바 버전을 변경하면 바뀌는 부분은 build.gradle 파일의 sourceCompatibility 부분이다.

    2. 스프링부트 3.0.X는 자바 17이상이 필요하다. 그 이전 자바 버전 선택 시 알아서 17로 변경되어 생성된다.

    3. IntelliJ Ultimate의 경우 인텔리제이에서 프로젝트 생성 시 Spring Initializr로 생성 가능한데, 이 경우에도 위와 동일하게 적용되었다. 다만 아래처럼 스프링부트 3.0.X로 작성하면서 jdk까지 지정했다면 이 경우엔 에러난다.

     

    댓글