개발/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)

 

참고)

docs.gradle.org/current/userguide/dependency_management_for_java_projects.html#sec:configurations_java_tutorial

https://writemylife.tistory.com/57