빌드 가이드

Gradle 빌드 구성 및 의존성 관리 규칙

마지막 수정: 2026-05

빌드 가이드

주요 빌드 명령어

명령어설명
./gradlew clean build전체 클린 빌드 (테스트 포함)
./gradlew build -x test테스트 제외 빌드
./gradlew clean build -x test클린 후 테스트 제외 빌드 (배포용)
./gradlew bootRun로컬 실행
./gradlew bootJar실행 가능한 JAR 생성
./gradlew compileJava컴파일만 (에러 확인)
./gradlew test테스트 실행
./gradlew dependencies의존성 트리 확인
./gradlew clean빌드 캐시 초기화

배포용 빌드

# 운영 배포 시 반드시 clean build 사용
./gradlew clean build -x test

빌드 결과물: build/libs/{서비스명}-0.0.1-SNAPSHOT.jar


프로젝트 기본 정보

plugins {
    id 'java'
    id 'org.springframework.boot' version '4.0.x'
    id 'io.spring.dependency-management' version '1.1.7'
}

group = 'com.{회사명}.{프로젝트명}'
version = '0.0.1-SNAPSHOT'

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)
    }
}

build.gradle 의존성 추가 규칙

Spring Boot BOM 관리 범위 내 라이브러리

// 버전 명시 불필요 (BOM이 관리)
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter'

BOM 외부 라이브러리 (버전 명시 필수)

// Markdown 파싱
implementation 'com.vladsch.flexmark:flexmark-all:0.64.8'

// Swagger
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0'

// Excel
implementation 'org.apache.poi:poi-ooxml:5.2.5'

build.gradle 전체 예시

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3'
    implementation 'org.springframework.boot:spring-boot-starter-data-redis'

    // 마크다운 파싱
    implementation 'com.vladsch.flexmark:flexmark-all:0.64.8'

    // Swagger
    implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0'

    // Excel
    implementation 'org.apache.poi:poi-ooxml:5.2.5'

    // Lombok
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

새 의존성 추가 체크리스트

  • [ ] Maven Central 또는 mvnrepository.com에서 최신 안정 버전 확인
  • [ ] 알려진 CVE 취약점 버전 사용 금지 (ossindex.sonatype.org 확인)
  • [ ] Spring Boot BOM 관리 범위 내인지 확인 (버전 명시 여부 결정)
  • [ ] ./gradlew compileJava 로 컴파일 확인

로컬 개발 환경

Java 17 설치 확인

java -version
# openjdk version "17.x.x" 이상이어야 함

Gradle Wrapper 사용

# ./gradlew 사용 (로컬 Gradle 설치 불필요)
./gradlew --version

IntelliJ IDEA 설정

  1. Build, Execution, Deployment > Build Tools > Gradle
    • Build and run using: Gradle
    • Run tests using: Gradle
    • Gradle JVM: Project SDK (17)
  2. File > Sync Project with Gradle Files

repositories 설정

repositories {
    mavenCentral()
}