Gradle build.gradle 의 dependencies

황제낙엽 2023.12.29 02:06 조회 수 : 0

build.gradle에 dependencies에 의존하고 있는 라이브러리들이 명시되어 있다.

 

Dependency Configuration 종류 및 기능

 

complieOnly

컴파일할 때만 사용

compileOnly로 의존성을 추가하면 jar에 포함되지 않아 가벼워진다.

 

runtimeOnly

런타임에만 사용 (ex. db-connector, mysql, h2)

컴파일할 때는 필요없는 라이브러리 의존성 추가할 때 사용한다.

 

annotationProcessor

어노테이션 프로세서 사용하는 라이브러리인 경우 사용, 컴파일에만 적용 (ex. lombok)

옛날 버전에서는 compileOnly를 썼었는데 최신 버전에서는 사용이 불가능하다.

 

implementation

컴파일 + 런타임

컴파일에도 필요하고 런타임에도 필요할 때 사용

 

api

api로 추가한 라이브러리에서 의존하고 있는 라이브러리에 의존하고자 할 때 사용 (컴파일 + 런타임)

a가 b 라이브러리를 api로 추가하면 a는 b에서 사용 중인 라이브러리 c를 사용할 수 있다.

이 방법은 조심해야 하는데 b에서 사용하고 있는 라이브러리 c를 d로 바꾼다면? a가 사용하는 c가 사라졌기 때문에 문제가 발생할 수도 있다.

 

testCompileOnly

테스트 코드 컴파일할 때만 사용

 

testRuntimeOnly

테스트 런타임에 사용

 

testImplementation

테스트 컴파일 + 런타임에 사용