빌드 가이드
주요 빌드 명령어
| 명령어 | 설명 |
|---|---|
./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 설정
- Build, Execution, Deployment > Build Tools > Gradle
- Build and run using:
Gradle - Run tests using:
Gradle - Gradle JVM:
Project SDK (17)
- Build and run using:
File > Sync Project with Gradle Files
repositories 설정
repositories {
mavenCentral()
}