Apache Ant 란?

2019. 2. 19. 21:38JAVA

Apache Ant 란?


자바 기반의 빌드 도구 (현재 자바 개발 환경에서 표준 빌드 도구)


Ant는 Tomcat처럼 Jakarta 프로젝트의 일환으로 만들어진 산출물로 C에서 말하는 make파일과 같은 Java 프로그램용 build이다. 기존의 make, gnumake와 같은 build tool도 존재하지만 ANT는 OS와 상관없이 사용하게 되어 있다. 또한 ANT는 Configuration파일이 XML로 되어 있어 애플리케이션 구조에 맞게 적용하기에 편리하게 되어 있다.


cf) 빌드(Build)란? 윈도우를 개발 하는 것까지 '개발'이라고 한다면, 사용자의 컴퓨터에 설치되어 실행되기까지의 단계를 빌드라고 함

  • ANT의 주요 기능

 - 자바 소스 파일 컴파일

 - jar, war, ear, zip 파일의 생성

 - avadoc을 실행하여 도움말 생성

 - 파일이나 폴더의 이동 및 복사, 삭제

 - 각각의 작업에 대한 의존성 설정

 - 유닉스에서처럼 파일이나 폴더에 퍼미션 설정

 - 파일의 변경 날짜를 설정하는 touch 기능

 - 외부 프로그램의 실행

 - 플랫폼에 무관한 XML을 이용 (build.xml : Configuration파일)

 - 이클립스에 기본 탑재되어 있는 플러그인 ( +@ 기능을 가진 것이 Maven )


  • Ant의 장점

 - 쉘 기반의 커맨드 형태를 확장할 수 있는 모델

 - 자바 클래스로 기능을 확장 가능

 - 빌드 파일을 XML 형태로 작성 -> 계층적으로 보기 쉬움

 - 독립적인 Task 형태를 객체로 작성하여 확장 가능

 - 난해한 표기법 없음


  • Ant의 약점

 - 디폴트 규칙을 지정할 수 없음

 - 인수에서 파일명을 건네서 개별에 컴파일 하는 것이 귀찮다.

 - make파일 안에서 사용하는 변수의 연산자가 없다.

 - XML의 기본적인 지식이 필요하다.

 - 준비되어 있는 작업에서 처리할 수 없는 경우 그것에 대한 대응이 귀찮다.



http://jakarta.apache.org