본문으로 바로가기

ANT 사용법

category Programming/Java 2009. 10. 16. 16:35

 

8.2 ANT

작성자 : 진은영 ( 2004-08-02)

[메인] [목록]
 
목차
 

8.2.1 ANT 개요

① ANT란 자바로 개발을 하다보면 외부에서 jar파일을 가져와서 사용해야 할 때가 있을 것이다. 대표적으로 JDBC드라이버, servlet.jar 등이 있다.이러한 패키지를 가져다 쓰려면 환경변수에 추가하거나 , 도스상에서 컴파일 혹은 실행할때 클래스패스를 나열하고 실행해야 한다. 패키지들이 많거나 매번 추가해야할 경우에는 굉장히 불편할 것을 느낄것이다.

Ant와 같은 빌드 도구를 사용하지 않을 경우 도스 창에서 클래스 패스에 클래스를 추가하거나 소스 파일 컴파일, jar 파일로묶는 작업, 묶은 jar 파일을 특정 디렉토리로 이동시키고 수정된 내용을 javadoc으로 문서화 시키는 등의 작업은 소스가수정될 때마다 한 단계씩 도스 창에서 모두 입력해야 한다. 하지만 Ant를 사용하면 마치 배치(bat) 파일을 실행한 것처럼이와 같은 일련의 작업들을 Ant를 이용하여 단 한번에 수행할 수 있다.

② ANT의 주요 기능 Ant의 주요 기능을 알기 쉽게 몇 가지만 나열해 보면 아래와 같다.

  • 자바 소스 파일 컴파일(너무 당연하다)
  • jar, war, ear, zip 파일의 생성
  • javadoc을 실행하여 도움말 생성
  • 파일이나 폴더의 이동 및 복사, 삭제
  • 각각의 작업에 대한 의존성 설정
  • 유닉스에서처럼 파일이나 폴더에 퍼미션 설정
  • 파일의 변경 날짜를 설정하는 touch 기능
  • 외부 프로그램의 실행

8.2.2 ANT 설치

아래의 위치에서 파일을 다운로드 받는다.
위치 : http://ant.apache.org/bindownload.cgi파일 : apache-ant-1.6.2-bin.zip
원하는 장소에 압축을 풀면 아래와 같은 폴더가 나타난다. (필자는 apache-ant-1.6.1-bin.zip로 다운받았다)
ANT를 사용하기 위해서는, 클래스 패스에 apache-ant-1.6.1을 포함해야 한다. 아래의 내용을 확인하면 추가하는 방법을 알 수 있다. 바탕화면 - 내컴퓨터 오른쪽버튼 클릭 - 등록정보 - 고급 - 환경변수를 클릭한다.
새로 만들기 버튼을 클릭하여 ANT의 폴더를 등록한다.
ANT를 실행하기 위해 path환경변수를 선택한 후 편집단추를 클릭하여 ANT의 bin폴더를 path에 등록한다.
등록하는 방법은 Log4J의 환경변수 추가와 유사하다.

8.2.3 ANT 구조

① 빌드 파일 구조 ANT는 프로젝트의 빌드, 테스트 , 배치등의 모든 단계를 어떻게 수행할지 명시하기 위하여 XML파일을 사용한다. 이XML파일을 빌드 파일이라 하며, ANT를 사용하는 모든 프로젝트들은 적어도 하나 이상의 빌드파일을 가지고 있어야 한다. ANT가 사용한느 디폴트 빌드 파일명은 build.xml이다.
ANT 빌드 파일의 루트 엘리먼트는 < project />이다. < project /> 하위에는 빌드과정에서 사용할 속성을 정의할 수 있는 < property /> 엘리먼트와 각 Task에서 사용할 경로 정보를포함하는 < path />엘리먼트 , 실질적인 작업을 수행하는 < target />엘리먼트를 가진다.
< project name=“projectName” default=“first” basedir=“.”>
  • name : 프로젝트 이름
  • default : 초기치로 설정되는 작업(Task), 아무 것도 지정하지 않고 실행하면 이 작업을 수행
  • basedir : 프로젝트에 대한 기준 폴더를 지정한다. .은 현재폴더를 지정한다.
< property name="src.dir" value="${basedir}/src“ /> < property name="classes.dir" value="${basedir}/classes" />
property는 변수를 지정하는거과 같다.
  • name : 변수명
  • value : 변수값
변수를 호출할 때 ${변수명} 으로 사용한다.
< target name="compile" >    < javac srcdir="${src.dir}" destdir="${classes.dir}" /> < /target>
  • name : target의 이름을 지정한다. 나중에 build 할때 이 이름으로 호출할 수 있다.
  • 자바소스를 컴파일할 때 어디에 있는 무엇을 어디에 컴파일하는가를 지정한다. srcdir : 자바소스가 들어있는 폴더를 지정한다. destdir : 컴파일한 후 클래스파일이 위치할 폴더를 지정한다.

8.2.4 ANT 사용

① 웹애플리케이션 6-1강좌에서 사용한 웹 애플리케이션을 이용한다.
② build.xml build.xml 파일은 WEB-INF에 생성한다.
<?xml version=“1.0” encoding="euc-kr"?> <project name=“projectName” default=“compile” basedir=“.”> <property name="src.dir" value="${basedir}/src“ /> <property name="classes.dir" value="${basedir}/classes" /> <target name="compile" > <javac srcdir="${src.dir}" destdir="${classes.dir}" /> </target> </project>
③ 자바문서 생성 자바문서는 src 폴더 안에 생성한다.
package kr.co.a ; public class ANTTest { public static void main( String [] args ){ System.out.println( "test" ) ; } }
④ 도스모드에서 컴파일 도스 창을 띄운 후 현 컨텍스트의 WEB-INF 폴더를 이동한다. 그냥 컴파일을 하면 현재 폴더안에 패키지가 생기면서 컴파일이 된다.
⑤ ant를 실행한다.
E:\03.src\jslt\WEB-INF>ant
ant를 실행하면 현재 폴더에 있는 build.xml 문서를 호출해서 project에 default로 선언되어 있는 task를 호출한다. 여기에서는 compile task를 호출한다.
⑦ 탐색기를 띄워 확인한다. 탐색기를 띄워 build.xml에 선언되어 있는것처럼 classes폴더에 가보면 컴파일 한 클래스가 해당 패키지 밑에 있는것을 확인할 수 있다.
이렇듯 build.xml문서만 잘 만들어 놓으면 컴파일을 수월하게 할 수 있다. 이외에도 굉장히 많은 내용들이 있지만 여러분들이 아래 참고문허을 살펴보며 추가해 보자. 혹시, 나중에 좀더 내용을 추가할 기회가 올지도...
참고문헌

 

'Programming > Java' 카테고리의 다른 글

Calendar 함수의 getActualMaximum과 getMaximum의 차이  (0) 2009.11.27
자바관련 블로그  (0) 2009.11.04
RMI 개념잡기  (0) 2009.10.16
jsp 다운로드 에러시  (0) 2009.10.16
JDOM 강추!  (0) 2009.10.16