[Spring] Gradle 설정에서 Compile과 Implementation 차이

푸른별·2023년 7월 26일
0

Web

목록 보기
8/16
post-thumbnail

의문점

스프링부트를 사용하며 gradle 설정을 추가할 때, 어떤 경우는 compile, 어떤 경우는 implementation을 하는 것을 보고 어떤 차이가 있는지 궁금해서 검색을 해봤습니다.

compile 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-web'

compile vs implementation

compile: 해당 모듈을 포함한 상위 모듈을 전부 가져온다.
연결된 API 전부 프로젝트에 의해 노출될 수 있습니다.

implementation:
지정한 모듈만 가져와 사용할 수 있도록 합니다.
API가 노출되지 않아 상대적으로 보안적인 측면에서 유리함을 가집니다.

결론

당연히 사용해야 하는 상황마다 다르겠지만, 일반적으로는 시간적인 측면에서 필요한 부분만 뽑아가는 implementation이 유리할 것입니다.
참고로, compile은 deprecated되었으며, api로 대체되었다고 하니 참고하면 좋을 듯 합니다.

Reference

https://stackoverflow.com/questions/44493378/whats-the-difference-between-implementation-api-and-compile-in-gradle

profile
묵묵히 꾸준하게

1개의 댓글

comment-user-thumbnail
2023년 7월 26일

좋은 글 감사합니다. 자주 올게요 :)

답글 달기