[compileOnly vs rumtimeOnly]
compileOnly : compile시 필요한 library. compileClasspath 에만 들어감 (대표적으로 lombok)
runtimeOnly : rumtime시 필요한 library. runtimeClasspath 에만 들어감 (대표적으로 h2database)
[compile(api) vs implementation]
implementation : 지정한 라이브러리만 빌드
compile : 의존하고 있는 상위 라이브러리 까지 빌드
* compile 키워드는 gradle 7.x 부터 deprecated 되었음 (api 로 대체)
A > B > C 의존성을 갖는 상황, C 가 변경되었을 때
compile : A, B 까지 rebuild
implementation : B 만 rebuild
* compile(api) 은 프로젝트가 무거워지므로 사용을 지양할 것
https://medium.com/mindorks/implementation-vs-api-in-gradle-3-0-494c817a6fa
https://stackoverflow.com/questions/44413952/gradle-implementation-vs-api-configuration
annotationprocessor :
반응형