개발/Spring
[Spring] - Gradle implementation vs compile
dongdev
2021. 12. 1. 10:42

api 노출 여부에 차이가 있다.
compile은 api가 연결된 프로젝트에 의해 노출되고, implementation은 노출되지 않는다.
공식문서에서는 gradle 3.0 이상부터는 compile 사용을 권장하지 않는다.
- 의존성 옵션
- implementation: 의존 라이브러리 수정시 본 모듈까지만 재빌드
- api: 의존 라이브러리 수정시 본 모듈을 의존하는 모듈들도 재빌드
- compileOnly: compile 시에만 빌드하고 빌드 결과물에는 포함하지 않음
- runtimeOnly: runtime 시에만 필요한 라이브러리인 경우
- annotationProcessor: annotation processor 명시 (ex. lombok)
참고)