Maven 일까? ANT 일까?

| 댓글 없음 | 트랙백 없음

아래 글은 (http://www.javafaq.nu/java-article1168.html)을 정리해본 글이다. 아무래도 maven쪽으로 방향을 잡는 글인데.. 글쎄..

 

프로젝트에서 java 빌드 툴로서 ANT 또는 maven을 선택해야 할 때, 두 도구의 차이점을 이해함으로써 많은 도움을 얻을 수 있을 것이다.

 

개발(자)의 관점에서의 빌드도구

  • 생산성 향상
  • 진짜 업무에 집중하기
  • 문서 산출물을 쉽게 만들기

 

경영자의 관점에서의 빌드도구

  • 개발비용 절감
  • 출시 일정 단축
  • 즉각적인 상황보고

 

역사적으로 ANT는 매우 오래된 빌드 도구 이다. 어떤 면에서는 C 나 C++의 make 와 흡사하다. 과거 make를 이용한 개발자들은 그들이 원하는 것이면 무엇이든 처리할 수 있었다. 하지만 ANT는 좀 다르다. make가 Shell 커멘드를 확장한 반면 ANT는 java class를 확장하는 방식이기 때문이다. shell 커멘드를 빌드 스크립트에 포함하는 것이 아닌 xml 기반의 설정파일을 작성하여야 한다. 각 프로젝트에서는 각각의 다른 Build Process를 작성해야 하고 새로운 팀 멤버는 그 빌드 파일을 분석해야 하는 부담이 있다.

반면에 Maven은 빌드 프로세스를 표준화하였고, 프로젝트의 구성을 규정하고, 프로젝트 정보에 대한 산출물 작성을 용이하게 하고 , 타 프로젝트 jar파일의 의존성을 관리하도록 하였다. Maven은 배스트 프렉티스를 권장한다.

Maven은 ANT에 비해서는 다소 유연하지 못한 면이 있다. 하지만, Maven은 ANT의 TASK를 호출할 수 있기 때문에, ANT에서 할 수 있는 모든 작업이 Maven에서 가능하다.

 

ANT에서 ,Maven으로 전향해서 얻을수 있는 장점은 프로젝트 빌드의 표준화, 명확히 정의된 의존성, 다른 프로젝트와 공유할 수 있는 산출물 컨셉, 보고서 등이다.

 

Maven과 Ant 비교표

Maven ANT
프로젝트에 대한 기술 각 프로젝트마다 빌드 스크립트 개발
기 구현된 goal(taget) 수행 프로젝트 특화된 target 수행
프로젝트 전체 정보를 정의 빌드 프로세스만 정의
빌드 생명주기, 표준화된 디렉토리 레이아웃 매우 복잡한 빌드 스크립트
재사용 가능한 플러그인, 저장소 스크립트가 재사용 가능하지 않음
매우 빠른 속도로 발전하고 있음 발전속도가 느려짐

 

Maven은 온라인 저장소에 들어 있는 매우 많은 플러그인 들로 구성되어 있어 매우 유연하다고 할 수 있다.

트랙백 없음

트랙백 주소: http://zbum.cafe24.com/MT/mt-tb.cgi/52

댓글

About This Blog Author

정지범(jibum.jung@gmail.com)

Google AdSense

Clock Link

Developers Works

Creative Commons License
This blog is licensed under a Creative Commons License.