스프링부트 버전에 대해 설정을 직접 해주지 않아 자바 17에서의 최신버전인 3.0.0으로 프로젝트를 생성하는 일이 생겨서 처음부터 다시 세팅하는 일 없이 바로 다운그레이드 할 수 있도록 방법에 대해 정리

 

build.Gradle에서 아래 사항들을 작성

build.Gradle이란 프로젝트 수준의 그레이들 설정 파일을 말하며 프로젝트의 모든 모듈에 적용되는 빌드 구성을 정의하고 있다.

 

  • buildscript를 통해 변경해서 build할 요소를 작성

- 모든 모듈에 공통되는 Gradle 저장소와 종속 항목을 정의

- buildscript는 보통 외부 라이브러리를 가져올 때 사용

 

  • buildscript { repositories { 

- dependency의 외부 저장소 설정. 기본은 google()

 

❓ 하나의 dependency를 추가한다고 해서 단 하나만 가져오는게 아니라 이에 dependency가 의존하고 있는 또다른 dependency들도 끌고 오기 때문에 이를 여러 저장소에서 호출하는 걸까

 

  • buildscript { dependencies {

- gradle의 플러그인 버전 설정

- 바꿀 버전 dependency를 적용

 

❓ 여기선 또 RELESE를 씀

 

  • plugins에 다운 그레이드 하고자 하는 스프링부트 버젼으로 수정

- 내 경우는 2.7.6버전으로 내리는 거라 id 'org.springframework.boot' version '2.7.6' 로 수정

 

❓ 그런데 다른글에서 보면 plugins에서도 2.7.6.RELEASE로 적어야한다는 데 나같은 경우엔 오히려 RELEASE를 쓰면 안됬다. 이유가 뭘까?

 

 

buildscript가 pulgins 보다 우선되야 빌드가 적용된다. 

한번 buildscript를 해서 프로젝트의 dependency를 수정하고 나면 buildscript 내용은 삭제해도 된다.

 

buildscript {
    repositories {
        mavenLocal()
        maven { url 'https://maven.aliyun.com/repository/google/' }
        maven { url 'https://maven.aliyun.com/repository/public/' }
        maven { url 'https://maven.aliyun.com/repository/spring/' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' }
        maven { url 'https://maven.aliyun.com/repository/spring-plugin/' }

        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:2.7.6.RELEASE")
    }
}

plugins {
    id 'java'
    id 'org.springframework.boot' version '2.7.6'	
    id 'io.spring.dependency-management' version '1.1.0'
}

 

 

[SpringBoot] 스프링부트 버전 변경 / 버전 다운그레이드

개인 / 사이드 프로젝트를 진행할 때는 별생각 없이 Spring initializr의 도움을 받곤 한다 Springboot, Gradle의 버전을 딱히 신경 쓰고 있지 않다는 뜻이다 https://start.spring.io 인프런에서 Spring Cloud 강의를

ryumodrn.tistory.com

 

[Android/안드로이드] Gradle Scripts에 대한 정리

📌Gradle Scripts란? > _안드로이드 프로젝트를 생성하면 Gradle Scripts 안에 build.gradle, settings.gradle 등의 파일이 자동으로 만들어진다. 이 파일들을 통해 안드로이드 프로젝트의 빌드 정보, 라이브러리

velog.io

 

+ Recent posts