관리 메뉴

웹개발 블로그

[SpringBoot] build.gradle 분석 본문

◆ SPRING BOOT/설정 및 설치

[SpringBoot] build.gradle 분석

쿠키린 2025. 4. 28. 15:13

build.gradle
- gradle을 통해 빌드될 수 있도록 하는 설정파일(빌드 설정 관리)
- 프론젝트 기본설정, 이존성 주임, 프러그인, 레포지토리 정보가 포함됨


build.gradle에는 크게 3가지 분류로 나뉘어있다.
1) buildscript : 
Gradle이 프로젝트 빌드 스크립트를 실행 시 필요한 도구를 
(ex:gradle Plugin들)을 먼저 설정하는 공간
2) allprojects : 루트 프로젝트 
3) subprojects : 루프 프로젝트 제외
그 외 project(:projectname) : 해당 프로젝트만
 ㄴ implementation project(':service')
 ㄴ//단독으로 실행되지 않으므로 해당 모듈 라이브러리화
bootWar.enabled = falseㅌ
war.enabled = true

✅allprojects {} 와 subProjects {} 설정 차이
Gradle 멀티 모듈 프로젝트에서
공통 설정을 모듈들에 적용할 때 사용하는 블록이야.

✅항목 | 설명
project(":common") | 멀티 모듈 프로젝트 중 common 모듈 설정
dependencies {} | 해당 모듈에 필요한 라이브러리들 정의
bootWar.enabled = false | Spring Boot의 실행 가능한 WAR 생성을 비활성화
war.enabled = true | 일반 WAR 파일은 생성하도록 설정 (라이브러리 형태 배포 목적)

-------------
buildscript
ㄴ ext {}: 스크립트에서 사용할 변수 선언

ㄴ repositories {} : 필요한 라이브러리나 플러그인을 어디서 받을지 정의
- mavenCentral() : 가장 공식적인 Maven 중앙 저장소 사용
ㄴ 거의 모든 오픈소스 라이브러리가 올라옴
- maven { url "https://maven.egovframe.go.kr/maven/" }
ㄴ 전자정부 프레임워크 전용 maven

ㄴ dependencies {} : 빌드 스크립트가 실행되기 전에 필요한 라이브러리들을 등록함
- classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
ㄴ springBootVersion 여기서 변수 사용

-------------
[allprojects ]
현재 프로젝트와 모든 하위 프로젝트(subprojects)까지 공통 적용되는 설정

apply plugin: 사용할 플러그인 적용
group, version: 프로젝트 기본 정보 설정
sourceCompatibility, targetCompatibility: Java 버전 설정
repositories: 라이브러리를 받을 저장소 설정
configurations: 의존성 버전 충돌 정책 설정

 

 

수정중!!..