Java BuildTools
이 글에서는 Java 빌드 자동화 도구에 대해서 살펴볼 것이다. 빌드 자동화 도구는 프로젝트의 의존성을 관리하고, 개발 환경 셋팅에 도움을 준다. 또한 빌드 시간을 단축시키고, 테스트 자동화를 지원하여 프로젝트의 안정성을 확보할 수 있다. 이런 빌드 자동화 도구들 중 사용 점유율이 높은 Ant, Maven, Gradle에 대해서 알아보도록 하자.
Ant
가장 사용빈도가 낮은 Ant는 XML 기반의 빌드 자동화 도구이다. 빌드 단위를 지정 가능하고 진입 장벽이 낮다는 장점이 있다. 반면에 프로젝트 크기에 따라 빌드 과정이 복잡해지고 생명주기가 없어 각각 결과물에 대한 의존관계를 일일이 정의해줘야 한다.
Maven
Maven은 생명주기와 프로젝트 객체 모델이란 개념을 도입했다. Ant 와 비교하면 빌드 스크립트로 할 수 있는 일이 더 많아진 것이다. 기능이 많아진 대신 학습을 위한 시간투자가 필요하다. Maven Script 파일은 pom.xml로, XML 기반의 스크립팅이 필요하며, 라이브러리가 상호 의존하는 경우 복잡도가 증가한다.
Gradle
Gradle은 build.gradle이라는 파일을 사용하여 빌드 프로세스를 관리한다. 스크립팅은 Groovy 라는 선언적 언어를 사용하기 때문에 빌드 프로세스를 이해하고 관리하기 용이하다. 또한 변경된 부분만 빌드하는 특징과 병렬처리 프로세스를 통해 빌드시간을 단축 할 수 있다는 장점이 있다.
댓글남기기