Kawaii_Jordy

[프로젝트 관리 도구] Ant vs Maven vs Gradle 본문

취준/SPRING

[프로젝트 관리 도구] Ant vs Maven vs Gradle

Kawaii_Jordy 2021. 7. 1. 14:33

Apache Ant

자바프로그래밍 언어에서 사용하는 자동화된 소프트웨어 빌드 도구이다. 리눅스에서 사용되는 make와 비슷하나 자바언어로 구현되어 있어 자바 실행환경이 필요하며 자바 프로젝트들을 빌드하는데 표준으로 사용된다.

make와 눈에 띄는 가장 다른 부분은 빌드를 위한 환경구성을 xml 파일을 사용한다는 점이다. 기본적인 빌드 파일명은 build.xml이다.

로고는 이름(ANT)에 따라 개미 모양으로 만들어졌으나 이는 Another Neat Tool의 약어이다.

최초 빌드 도구로서 제작되었으나 점점 많은 기능이 추가되면서 빌드와 배포, 유닛테스트 등을 포함하는 통합 툴로서 발전되고 있다.

 

 

Maven

pom.xml파일을 통해 정형화된 빌드 시스템으로 프로젝트 관리를 해준다.
프로젝트의 전체적인 라이프 사이클을 관리한다.

 

특징

  • 빌드 과정을 쉽게 만들기
  • 정형화된 빌드 시스템 제공
  • Maven은 POM과 플러그인 세트를 사용하여 프로젝트를 빌드한다.
  • 양질의 프로젝트 정보 제공
  • 더 나은 개발개

장점

  • 편리한 의존성 라이브러리 관리
  • 정해진 빌드 방법을 사용하여 협업에서 유리하게 작용
  • 다양한 플러그인을 통해 많은 작업이 자동화됨

플러그인을 구동해주는 프레임워크로, 모든 작업은 플로그인에서 수행하게된다.

 

Gradle

 

범용 빌드 도구

 ㆍ ​Java, Java web projects, C, C++, Android 등

 ㆍ ​폴리글랏 프로그래밍(Facebook는 20여개의 언어를 동시 빌드)

 

Groovy 언어 기반

 ​ Groovy 언어를 몰라도 스크립트 작성 가능

 ㆍ ​DSL(Domain Specific Language)

 

Ant와 Maven을 계승

 ㆍ ​Ant의 유연함 → 대부분의 Ant task를 gradle에서 실행 가능

 ㆍ ​Maven의 체계성을 혼합 → 폴더 구조가 복잡해짐

 

명령창에서도 빌드할 수 있음

 ㆍ ​Jenkins(젠킨스) 등 CI와 연동 가능

Comments