Spring 1. Gradle

김창민·2024년 8월 9일

BE

목록 보기
21/50

Gradle

지금까지 Java로 신나게 기능을 구현하고 GitHub에 push를 해서 배포를 했다. 하지만 실제 Java 배포는 소스 코드를 컴파일하고, 필요한 의존성(라이브러리)을 포함시켜 실행 가능한 형태로 패키징해야한다. 그 결과로 .jar 파일이 생성되는데, 이 과정을 담당하는게 Gradle이다.

build.gradle

위에서 말한 gradle 기반으로 자바의 소스 코드를 빌드하고, 라이브러리들의 의존성을 쉽게 관리할 수 있도록 한 빌드 스크립트가 build.gradle이다.

plugins, configurations, repositories, dependencies 등으로 구성되는데,

plugins 블록은 프로젝트에서 사용할 플러그인을 선언하는 곳이다.
플러그인은 Gradle이 프로젝트를 빌드, 테스트, 배포하는 방법을 확장할 수 있게 한다.

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

configurations 블록은 프로젝트에서 사용할 의존성의 그룹을 정의하는 곳이다. 각 구성은 특정 유형의 의존성을 포함할 수 있으며, 이 구성은 빌드 프로세스의 다양한 단계에서 사용된다.

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories 블록은 Gradle이 의존성을 다운로드할 위치를 정의하는 곳이다. Maven Central, JCenter, , 로컬 저장소 등이 여기에 포함된다.

repositories {
    mavenCentral()
}

dependencies 블록은 프로젝트에서 사용할 외부 라이브러리와 모듈을 선언하는 곳입니다. 각 의존성은 특정 구성에 속할 수 있습니다.

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
profile
일일 회고 : https://rlackdals981010.github.io/

0개의 댓글