책에서는
compile('org..')를 사용하라고 했으나
프로젝트에서 사용하면
글씨가 회색으로 변하면서 비활성화가 됩니다.
그래서 compile과 compileOnly가
무슨 차이가 있는건지
알아봤습니다.
https://hack-jam.tistory.com/13
compileOnly는 의존성 옵션입니다.
compile 시에만 빌드하고, 빌드 결과물에는 포함되지 않습니다.
compile은 A라는 모듈이 수정되면,
이 모듈을 직접 또는 간접의존하고 있는 다른 모듈들 또한 재빌드가 되어야 합니다.
일단 implementation, compile 은
모두 라이브러리를 적용시키는 키워드입니다.
implementation은
A라는 모듈이 수정되면, 이 모듈을 직접 의존하고 있는 모듈만 재빌드(재컴파일)됩니다.
기존에 gradle에서 사용되고 있던 compile은 지원이 중단되었고,
implementation으로 대체가 되었습니다.
implementation을 사용하게 되면
연결된 Dependency의 수가 줄어들고,
변경되더라도 재빌드되는 모듈의 수가 적다보니
소요 시간이 적습니다.
compile을 사용하게 되면,
연결된 모든 모듈의 API가 노출된다고 합니다.
(이런 단점 때문에 지원이 중단되었나 봅니다..)
'여니의 프로그래밍 study > Spring & Spring Boot' 카테고리의 다른 글
[스프링부트] assertThat 인식 안되는 문제 해결 (0) | 2022.03.21 |
---|---|
[스프링부트] 롬북(lombok)의 개념, 설치 방법 | maven repository (0) | 2022.03.21 |
[스프링부트] 테스트코드 작성하기, hello 출력하기 (0) | 2022.03.20 |
[Error] No tests found for given includes: (0) | 2022.03.20 |
[스프링부트] RestController import 인식이 안 될때 (0) | 2022.03.20 |