You will be fine

<Spring> Spring Boot의 Gradle 버전 업데이트 하기

by BFine
반응형

Spring boot Gradle 업데이트 하기

https://docs.gradle.org/current/userguide/upgrading_version_4.html

 

Upgrading your build from Gradle 4.x to 5.0

This chapter provides the information you need to migrate your older Gradle 4.x builds to Gradle 5.0. In most cases, you will need to apply the changes from all versions that come after the one you’re upgrading from. For example, if you’re upgrading fr

docs.gradle.org

순서는 Gradle 버전(boot 버전과 호환되는)을 올리고 Boot 버전을 올려야한다. 

 

1. 프로젝트 Gradle 버전 확인하기

  • 보통은 로컬PC에도 Gradle이 설치하고 프로젝트 내부에도 설치해서 사용하는 것 같다
  • 프로젝트의 Gradle을 업데이트 해야하니 프로젝트 내부에서 ./gradlew -v 명령어를 실행
  • 가이드에서는 4.10.x 에서 올리는걸 추천하니 이전버전의 경우 4.10.x 까지 업데이트 해야함
    • 3.3에서 바로 4.10.3 까지 올려봤는데 이슈는 없었던거 같다. (크게 변경된게 없는듯)
  • deprecated 확인하는 방법
    1. gradle help --warning-mode=all 하면 deprecated 되는 부분들이 콘솔에 보여진다.
    2. gradle help --scan 하면 이메일 인증후에 대시보드로 보여준다.

 

2. Gradle 버전 업데이트 하기

  • 업데이트 방법은 생각보다 간단했다
    1. 프로젝트 내부에서 ./gradlew wrapper --gradle-version 5.0 을 실행
    2. 또는 gradle-wrapper.properties 의 버전 변경, 1번이 더나은것 같다.
  • gradle 5버전부터는 java 8 이상부터 요구하니 유의해야한다.
  • 업데이트 후에 프로젝트를 build 를 하면 cannot find symbol, does not exist 에러
    • 궁금했던거는 빌드툴을 업데이트 했는데 왜 라이브러리가 없다고 나오는걸까?
    • 추측하자면 gradle에서 기본으로 빌드하던 라이브러리들이 5버전오면서 Java 8에 맞춰서 변경한게 아닐까 라는 생각이 든다.

 

3. Spring Boot 버전 업데이트 하기

  • Boot 버전도 간단하게 업데이트 가능하다
    • build.gradle의 'org.springframework.boot'  '이전버전' -> '변경할 버전' 바꾸면 된다.
    • 변경되면서 호환이 안되는 부분이 있으니 dependeny의 버전을 맞게 올려주어야한다.
    • gradle이 예전버전이면 build.gradle의 형식에 차이가 나니 변경된 형태로 바꾸고 변경하자!
  • Boot 업그레이드는 계단식으로!
    • 2.1 -> 2.4 바로가지말고 2.2 올리고 빌드, 컴파일하고 오류수정하고 올리는 형태로 하는게 좋다.!
    • 1.x버전에서 2.x버전으로 올라가는 경우 특히 변경된 부분이 많기 때문에 주의해야한다.
  • 최대한 dependeny는 starter로 관리하자!  
    • starter에 관련 라이브러리들이 있다면 과감하게 지우고 starter를 이용한다.

 

4. 오류해결

  • cannot find symbol 에러
    • lombook 때문에 발생하는 오류, 5버전 부터 annotationProcessor가 추가 되었다.
    • dependencies 에 annotationProcessor 'org.projectlombok:lombok' 추가
  • does not exist
    • 이거는 https://mvnrepository.com/ 에서 라이브러리 찾아서 직접 추가
    • Deprecated 가 유력(?)하니 상위버전(디렉토리 구조가 변경된)이나 대체제를 찾아보자
  • gradle 실행 오류
    • 이거는 해결하기가 어려울 수 있다 . ./gradlew build --stactrace 확인
반응형

블로그의 정보

57개월 BackEnd

BFine

활동하기