31
2
장
도구 선택 및 시작
2.1.3
메이븐과 그레이들 중 선택하기
이쯤 되면 빌드 도구 선택이 별 의미 없어 보입니다. 그냥 그레이들을 선택하면 되지 않을까
요?
메이븐의 엄격하고 때로는 독단적이기까지 한 선언적 접근법은 프로젝트와 개발 환경을 대단
히 일관되게 만듭니다. 메이븐 방식을 따르면 일반적으로 문제가 거의 발생하지 않으므로, 빌
드에 신경 쓰지 않고 코드에만 집중하게 됩니다.
그레이들은 프로그래밍/스크립팅 중심입니다. 따라서 그레이들로 빌드한 프로젝트에서 새로
출시된 버전의 프로그래밍 언어를 사용하면 종종 문제가 생깁니다. 그레이들 개발팀이 신속하
게 대응하겠지만, 프로그래밍 언어의 최신 버전을 선호하거나 반드시 사용해야 한다면 빌드 문
제가 발생할 여지가 있음을 염두에 두어야 합니다.
그레이들은 빌드 속도가 빠른데, 특히 대규모 프로젝트에서는 메이븐보다 훨씬 더 빠릅니다.
일반적인 마이크로서비스 프로젝트에서는 메이븐과 그레이들의 빌드 속도가 비슷합니다.
그레이들의 유연함은 간단한 프로젝트와 매우 복잡하게 빌드해야 하는 프로젝트 모두에서 청
량제 같이 작용합니다. 그러나 그레이들의 유연함 때문에 프로젝트가 예상대로 동작하지 않을
때는 빌드 과정을 수정하고 문제를 해결하는 데 시간이 오래 걸립니다. 복잡한 프로젝트일수록
더 그렇습니다. 세상에 공짜는 없습니다.
스프링 부트는 메이븐과 그레이들을 모두 지원합니다. 다음 절에서 다룰 이니셜라이저
Initializer
를 사용하면, 신속히 작업할 수 있도록 프로젝트와 원하는 빌드 파일을 ...