개인적으로 운영하는 사이트의 spring boot 버전을 최신으로 업그레이드 해보았습니다.
기존 gradle 설정은 아래와 같이 되어 있었습니다.
plugins {
java
id("org.springframework.boot") version "2.7.13"
id("io.spring.dependency-management") version "1.0.15.RELEASE"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java {
sourceCompatibility = JavaVersion.VERSION_1_8
}
spring boot : 2.7.13
io.spring.dependency-management : 1.0.15
java : 1.8
spring boot 최신버전은 3.2.0이고 java 21이 지원된다고 해서 버전을 올려보았습니다. 그리고 io.spring.dependency-management 도 같이 최신버전으로 변경하였습니다. io.spring.dependency-management는 Gradle 빌드 도구에서 Spring 프레임워크를 사용할 때 종속성 관리를 간편하게 해주는 플러그인입니다.
spring boot 3.2.0은 2023-11-23일에 릴리즈 되었습니다.
버전은 아래와 같이 변경하였습니다.
spring boot : 2.7.13 -> 3.2.0
io.spring.dependency-management : 1.0.15 -> 1.1.4
java : 1.8 -> 21
plugins {
java
id("org.springframework.boot") version "3.2.0"
id("io.spring.dependency-management") version "1.1.4"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java {
sourceCompatibility = JavaVersion.VERSION_21
}
버전을 변경한 후 load gradle changes을 하니 아래와 같이 에러가 발생하였습니다.
현재 Intellij에서 프로젝트의 java version이 1.8로 되어있어서 에러가 발생했습니다. 프로젝트의 java verison 을 file > Project Structure에서 SDK에서 OpenJDK 21을 다운로드 해줍니다.
다운로드가 완료되면 Intellij를 재시작 후 SDK와 Language level을 openjdk21로 변경하고 load gradle changes 하니 다른 에러 메세지가 노출되었습니다.
Gradle version과 Java 버전이 안맞다는 메세지가 노출되었습니다.
gradle 버전은 프로젝트의 gradle\wrapper\gradle-wrapper.properties 파일에 distributionUrl에서 확인할 수 있습니다.
현재 8.1.1로 되어있고 최신 버전인 8.5로 변경해주고 다시 load gradle changes 해줍니다.
최신 gradle 버전이 다운로드가 완료되면 정상적으로 load gradle changes 가 되는것을 확인할 수 있습니다.
gradle build는 성공하였는데 프로젝트를 실행할때 아래와 같은 에러가 발생했습니다.
해당 URL의 내용을 보니 현재 Intellij에서 JDK 21이 정상적으로 지원이 안되는것으로 보여서 JDK 20으로 변경하고 프로젝트를 실행하니 정상적으로 실행되었습니다.
참고자료
https://spring.io/projects/spring-boot#learn
https://plugins.gradle.org/plugin/io.spring.dependency-management
https://services.gradle.org/distributions/
https://tychejin.tistory.com/388
https://jojoldu.tistory.com/698
https://velog.io/@pllap/build.gradle-%EB%A7%9B%EB%B3%B4%EA%B8%B0
'개발 > spring, spring boot' 카테고리의 다른 글
[Spring boot] WebSocket 사용 (0) | 2023.12.13 |
---|---|
spring boot 환경에서 npm 설정하는 방법 (1) | 2023.12.06 |
View단에서 Form Submit시 Dto 내부에 다른 Dto를 List로 가진 형태일때 처리방법 (0) | 2023.12.04 |
HTTP 상태 코드 500 에러 발생 시 (0) | 2023.09.21 |
spring 공통 exception 처리 (0) | 2022.12.14 |