gradle wrapper를 사용하면 해당 프로젝트에 종속된 gradle 버전으로 빌드할 수 있음
wrapper를 사용하지 않으면 프로젝트 버전이 다를때 프로젝트 버전과 일치하도록 수동으로 설치해주거나, 빌드 환경에 따른 다른 빌드 결과를 만들 수 있음
gradlew 명령어로 프로젝트를 빌드할 때 gradle-wrapper.jar 를 참조해 설정 파일 구성
./gradlew build
gradlew 명령어로 프로젝트를 빌드할 때 gradle-wrapper.jar 를 참조해 설정 파일 구성build.gradle
buildscript {
// gradle build 스크립트 자체를 의존성, task, plugin 등 지정
// build.gradle 자체를 실행하기 위한 설정
}
plugins {
id 'java'
// id 'org.springframework.boot' version ''
// id 'io.spring.dependency-management' version '' - 스프링 의존성을 관리해주는 플러그인
}
dependencies {
/* 프로젝트 개발에 필요한 의존성 선언 */
/* 특정 버전을 명시하지 않아야 위에서 설정한 버전을 따라감 -> 버전 충돌문제*/
// implementation - 컴파일시 의존하는 라이브러리
// testImplementation - 단위테스트에 사용하는 라이브러리
// classpath - 컴파일부터 실행까지 의존하는 라이브러리
}
repositories { // 의존성(라이브러리)들을 어떤 원격 저장소에서 받을지 설정
// jcenter()
// mavenCentral()
}
init.gradle
settings.gradle
gradle.properties
api/complile(deprecated) 대신 implementation을 사용하면 빌드 시스템이 재컴파일 해야 하는 프로젝트의 크기가 즐어들기 때문에 빌드시간이 상당히 개선 될수 있음
스프링부트는 spring-boot-dependencies를 의존성 관리를 위한 BOM(Bill Of Material)으로 사용하고 있음
스프링부트에서 지원하는 의존성 라이브러리는 버전을 명시하지 않아도 BOM에 등록되어 있는 버전으로 일괄 관리됨
Q) dependency-management 플러그인을 적용시키면, 현재 사용하는 스프링 버전에 따라 의존성을 관리해준다.
[spring-boot] 스프링 부트 2.x 준비하는 개발자를 위한 안내서