Spring Boot 2.x 프로젝트 만들기
개요
Spring 프로젝트를 만들 때는 항상 spring Initializr를 활용하곤 했습니다.
하지만 UI로는 2.x 버전의 프로젝트를 만들고 싶어도 만들 수 없습니다.
이번글에서는 2가지에 대한 주제를 다룹니다.
- Spring Boot 2.x 프로젝트 만들기
- Spring Boot의 과거 버전 문서 보는 방법
Spring Boot 3.x 프로젝트 만들기
현재시점을 기준으로 Spring 2.x 프로젝트는 UI로 만들 수 없습니다.
우선 Spring Boot의 3.x.x 버전으로 생성한 후 버전을 2.x.x로 낮추는 다운그레이드를 수행하고자 합니다.
Java 17 버전, Dependencies는 Spring Web를 선택하였고 Spring Boot의 버전은 3.1.8을 선택하여 프로젝트를 생성하였습니다.
생성 후 Spring 3.1.8 Spring Application을 실행해 보면 잘 구동되는 것을 확인할 수 있습니다.
(현재 환경에서는 JDK는 17이 이미 설치되어 있습니다)
Spring Boot 3.x 프로젝트 다운그레이드
우선 Spring Boot의 3.1.8 버전으로 생성한 후 버전을 2.x.x로 낮추는 다운그레이드를 수행하고자 합니다.
우선 2.7.5 버전부터 다운그레이드를 수행하였습니다.
해당 과정에서 bootBuildImage 부분에서 에러가 발생하여 주석처리를 수행하였습니다.
//tasks.bootBuildImage {
// builder.set("paketobuildpacks/builder-jammy-base:latest")
//}
해당 기능은 Spring Boot 2.3에 출시된 기능으로 Spring Application을 Docker 이미지로 만드는 것에 도움을 줍니다.
2.7 버전에서는 set이라는 문법을 지원하지 않는 것 같습니다.
2.7.5 버전으로 다운그레이드하고 Spring Application을 실행해 보면 잘 구동되는 것을 확인할 수 있습니다.
버전을 내리면서 주의사항
2.7.5 버전으로 다운그레이드를 수행하고 2.4.0 버전까지 다운그레이드를 수행해보려고 하였습니다.
하지만 빌드가 수행되지 않습니다.
Spring Boot 2.4.0 available now 문서를 살펴보면 Spring 2.4는 Java 15까지 지원된다고 합니다.
즉, JDK 17을 사용하고 있는 현재로써는 사용할 수 없습니다.
2.5.15의 경우에는 JDK 17까지 지원한다고 하여 2.5.15까지 버전을 내려보았습니다.
빌드가 잘 수행되며 실행도 잘 됩니다.
Spring Boot 과거 문서 보는 방법
예를 들어 Spring Boot Project의 Learn 부분 탭을 눌러보면 Reference Doc을 살펴볼 수 있습니다.
3.1.8 버전의 문서는 다음과 같습니다.
https://docs.spring.io/spring-boot/docs/3.1.8/reference/html/
2.7.18 버전의 문서는 다음과 같습니다.
https://docs.spring.io/spring-boot/docs/2.7.18/reference/html/
2가지 버전의 문서의 링크를 비교해보면 docs와 reference 사이의 버전만 다르게 주면 되는 것을 확인할 수 있습니다.
참고자료
https://adjh54.tistory.com/361
https://spring.io/blog/2020/11/12/spring-boot-2-4-0-available-now/
https://spring.io/projects/spring-boot/#learn