더북(TheBook)

그럼에도 스타터 의존성이 가져오는 전이적 의존성 버전을 알아야겠다면 빌드 도구를 이용한다. 그레이들은 dependencies 태스크로 프로젝트에서 사용하는 모든 라이브러리와 각 버전을 포함한 의존성 트리를 볼 수 있다. 

$ gradle dependencies

메이븐에서는 dependency 플러그인의 tree 골을 이용하면 비슷한 결과를 볼 수 있다.

$ mvn dependency:tree

대부분은 스프링 부트 스타터 의존성이 어떤 것들을 제공하는지 크게 신경 쓸 필요가 없다. 보통 웹 스타터는 웹 애플리케이션으로 빌드할 수 있게 하고, Thymeleaf 스타터는 Thymeleaf 템플릿을 사용할 수 있게 하며, 스프링 데이터 JPA 스타터는 스프링 데이터 JPA로 데이터베이스에 데이터를 영속화할 수 있게 한다는 것만 알아도 충분하다.

하지만 스프링 부트 팀이 테스트를 했는데도 스타터 의존성이 선택한 라이브러리에 문제가 있다면 어떻게 해야 할까? 어떻게 하면 스타터 의존성을 오버라이드할 수 있을까?

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.