build.gradle 예시입니다
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-data-rest'
implementation 'org.springframework.boot:spring-boot-starter-web'
developmentOnly("org.springframework.boot:spring-boot-devtools")
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
compileOnly: 컴파일 시점에만 필요한 의존성을 지정하는 옵션입니다.
implementation: 컴파일과 런타임 모두에 필요한 의존성을 지정하는 옵션입니다.
runtimeOnly: 런타임 시점에만 필요한 의존성을 지정하는 옵션입니다.
testCompileOnly: 테스트 컴파일 시점에만 필요한 의존성을 지정하는 옵션입니다.
testImplementation: 테스트 컴파일과 런타임 모두에 필요한 의존성을 지정하는 옵션입니다.
testRuntimeOnly: 테스트 런타임 시점에만 필요한 의존성을 지정하는 옵션입니다.
api: 모듈에서 노출하는 API를 지정하는 옵션입니다. 다른 모듈에서 해당 모듈의 API를 사용할 때 필요한 의존성을 지정할 때 사용합니다.
implementationOnly: 컴파일과 런타임 모두에 필요하지만, 해당 라이브러리의 API가 프로젝트 외부에서 노출되지 않아야 하는 경우 사용하는 옵션입니다.
enforcedPlatform: 프로젝트에서 사용하는 모든 의존성의 버전을 특정 플랫폼과 일치시키는 옵션입니다.