Compile 은 해당 라이브러리가 의존하고 있는 모든 모듈를 불러오고
Implement는 최소한의 모듈만 불러온다.
Implement가 성능상 유리한것이 확실한 만큼 거의 모든 Gradle 설정에 Implement가 사용되고 있다.
다만, 궁금한 점은 결국 Implement 사용시 라이브러리를 구성하는 모든 모듈를 불러오지는 않는다는 건데
애초에 라이브러리가 효율적으로 의존성을 구성한게 아니라는 건지 불러오지 않아도 되는 모듈이 왜 존재하는지 이해가 잘 가지 않아서 찾아봤다.
문제 상황은 다음과 같다.
모듈 A - 모듈 B를 의존하는 라이브러리 X 가 있고
모듈 A - 모듈 C를 의존하는 라이브러리 Y 가 있을때,
complie을 사용하면 모듈 A를 중복해서 2번 빌드하게 되고
implement를 사용하면 모듈 A를 한번만 빌드한다.
'JAVA > Spring Boot' 카테고리의 다른 글
[Validation] @Valid 직접 실행하는 법 (0) | 2023.10.10 |
---|---|
Annotation) 커스텀 어노테이션으로 Enum 유효성 검사하기 (0) | 2023.03.13 |
Join을 Map으로 최적화 (0) | 2023.02.23 |
JPA) [수정]@DynamicUpdate, @DynamicInsert (0) | 2023.02.07 |
[Validation] 누락된 값 전역 처리, 클라이언트에 상세히 표시 (0) | 2023.01.25 |