티스토리 뷰
Java 빌드 도구 - Ant, Maven, Gradle
Spring, Mybatis 교육을 받으며 Java 빌드 도구 툴의 사용 추세가 변화하고 있다는 것을 듣고 간단히 조사해보았다. 강사님 말씀에 따르면 Ant는 과거 많이 이용했으나 단순히 빌드 도구로만 이용이 되고, Maven이 빌드 + 자동 라이브러리 관리 기능이 추가되면서 Ant에서 Maven으로 많이 옮겨왔다고 한다. 또한 최근에는 Gradle을 이용하고 있는데 특히, Android Studio에서 Eclipse에 있던 빌드 기능을 대신하기 위해 Gradle을 공식 빌드 툴로 채택하여 이용하고 있다.
(Ant와 같은 자동화 빌드 툴은 개발자들이 소스 코드 파일 작성 후 해야할 컴파일, 유닛 테스트, 패키지화 등 다양한 작업을 XML 문서 하나만 작성해 놓음으로 써 일괄적으로 처리를 해준다.)
1. 아파치 앤트(Apache Ant :Another Neat Tool) : 과거 사용
아파치 앤트(영어: Apache Ant)는 자바 프로그래밍 언어에서 사용하는 자동화된 소프트웨어 빌드 도구이다. 유닉스나 리눅스에서 사용되는 make와 비슷하나 자바언어로 구현되어 있어 자바 실행환경이 필요하며 자바 프로젝트들을 빌드하는데 표준으로 사용된다.
make와 눈에 띄는 가장 다른 부분은 빌드를 위한 환경구성을 XML 파일을 사용한다는 점이다. 기본적인 빌드 파일명은 build.xml 이다.
로고는 이름(ANT)에 따라 개미 모양으로 만들어졌으나 이는 Another Neat Tool의 약어이다. [1]
최초 빌드 도구로서 제작되었으나 점점 많은 기능이 추가되면서 빌드와 배포, 유닛 테스트 등을 포함하는 통합 툴로서 발전되고 있다.
2. 아파치 메이븐(Apache Maven) : 현재 사용
아파치 메이븐(Apache Maven)은 자바용 프로젝트 관리 도구이다. 아파치 앤트의 대안으로 만들어졌다. 아파치 라이선스로 배포되는 오픈 소스 소프트웨어이다.
* 메이븐(영어: Maven)은 영어로 전문가라는 뜻이다.
3. 그래들(Gradle) : 현재 사용(최신)
Gradle은 Groovy를 이용한 빌드 시스템이다. Groovy와 유사한 도메인 언어를 채용하였으며, 현재 안드로이드 앱을 만드는데 필요한 안드로이드 스튜디오의 공식 빌드 시스템이기도 하다. Java, C/C++, Python 등과 같은 여러 가지 언어를 지원한다.
출처 : Wikipedia