250x250
syk531
하루
syk531
전체 방문자
오늘
어제
  • 분류 전체보기 (166)
    • 개발 (166)
      • java (11)
      • kotlin (7)
      • spring, spring boot (35)
      • Javascript (4)
      • Tyhmeleaf (2)
      • Kafka (17)
      • Docker (8)
      • Kubernetes (3)
      • Elastic Stack (4)
      • react native (3)
      • Web (4)
      • GIS (3)
      • 리눅스 (16)
      • Windows (2)
      • 네트워크 (2)
      • 안드로이드앱 (5)
      • git (2)
      • Tool (15)
      • 프로젝트 (7)
      • 백준알고리즘 (14)
      • DB (2)

인기 글

최근 글

블로그 메뉴

    공지사항

    태그

    • 뉴스앱
    • 오블완
    • 티스토리챌린지

    최근 댓글

    티스토리

    hELLO · Designed By 정상우.
    syk531

    하루

    spring boot 3.2.0 버전 업그레이드
    개발/spring, spring boot

    spring boot 3.2.0 버전 업그레이드

    2023. 12. 4. 23:26
    728x90
    반응형

    개인적으로 운영하는 사이트의 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 version
    spring boot version별 출시일, 지원기간

    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을 하니 아래와 같이 에러가 발생하였습니다.

    error 메세지

    현재 Intellij에서 프로젝트의 java version이 1.8로 되어있어서 에러가 발생했습니다. 프로젝트의 java verison 을 file > Project Structure에서 SDK에서 OpenJDK 21을 다운로드 해줍니다.

    Project Structure

    다운로드가 완료되면 Intellij를 재시작 후 SDK와 Language level을 openjdk21로 변경하고 load gradle changes 하니 다른 에러 메세지가 노출되었습니다.

    Project Structure

    Gradle version과 Java 버전이 안맞다는 메세지가 노출되었습니다.

    error 메세지

    gradle 버전은 프로젝트의 gradle\wrapper\gradle-wrapper.properties 파일에 distributionUrl에서 확인할 수 있습니다.

    현재 8.1.1로 되어있고 최신 버전인 8.5로 변경해주고 다시 load gradle changes 해줍니다.

    gradle version

     

    gradle 최신 버전
    gradle version upgrade

    최신 gradle 버전이 다운로드가 완료되면 정상적으로 load gradle changes 가 되는것을 확인할 수 있습니다.

    build 성공

    gradle build는 성공하였는데 프로젝트를 실행할때 아래와 같은 에러가 발생했습니다.

    프로젝트 실행 시 에러

    https://intellij-support.jetbrains.com/hc/en-us/community/posts/13049784815250-Planned-release-date-of-2023-3-with-Java-21-support

    해당 URL의 내용을 보니 현재 Intellij에서 JDK 21이 정상적으로 지원이 안되는것으로 보여서 JDK 20으로 변경하고 프로젝트를 실행하니 정상적으로 실행되었습니다.

    project run 성공

     

     

    참고자료

    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://velog.io/@dongvelop/JDK-21%EC%9D%B4-%EC%B6%9C%EC%8B%9C%EB%90%98%EC%97%88%EB%8B%A4.-%EC%B5%9C%EC%8B%A0-%EB%AC%B8%EB%B2%95%EC%9D%80-%EC%82%B4%ED%8E%B4%EB%B4%90%EC%95%BC%EC%A7%80

    https://jojoldu.tistory.com/698

    https://velog.io/@pllap/build.gradle-%EB%A7%9B%EB%B3%B4%EA%B8%B0

    728x90
    반응형
    저작자표시 (새창열림)

    '개발 > 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
      '개발/spring, spring boot' 카테고리의 다른 글
      • [Spring boot] WebSocket 사용
      • spring boot 환경에서 npm 설정하는 방법
      • View단에서 Form Submit시 Dto 내부에 다른 Dto를 List로 가진 형태일때 처리방법
      • HTTP 상태 코드 500 에러 발생 시
      syk531
      syk531
      기억을 위해 기록을.

      티스토리툴바