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까지 지정했다면 이 경우엔 에러난다.

'Development > Spring Boot' 카테고리의 다른 글
스프링(부트)에서 final이 아닌 필드(인스턴스 변수, 클래스 변수)가 있으면 안됩니다. (0) | 2024.04.04 |
---|---|
Map에 mybatis의 map-underscore-to-camel-case가 안먹히는 이유를 알아보자 (4) | 2024.02.21 |
스프링부트 헥사고날 아키텍쳐 코드 구조 (7) | 2023.02.17 |
스프링부트 3.0이상 Spring Security 기본 세팅 (스프링 시큐리티) (89) | 2023.02.10 |
스프링 부트 2.0에서 3.0 스프링 시큐리티 마이그레이션 (변경점) (3) | 2023.02.09 |
댓글