2009년 5월 13일 수요일

Ant 빌드 사용기 1 - Ant 소개 및 설치



Java관련 프로젝트를 진행할 때 가장 머리 아픈 것이 소스 빌드이다. PHP나 ASP언어로 된 프로젝트 진행할때는 언어자체가 웹 기반이고 인터프리터 언어이기때문에 별도의 빌더가 필요없다. 하지만 Java 이 녀석은 다르다. 컴파일 언어이기때문에 별도의 빌드 과정이 필요하다. 하지만 Java파일 하나 작성할때마다 새롭게 컴파일하는것은 아주 비효율적이다. 만약 한 프로젝트에 포함된 파일이 몇백개이라고 할때 수정된 파일을 일일이 컴파일하는것도 여간 짜증나는 일이 아닐수 없다. 그래서 나온것이 Ant Builder이다. 앤트 빌더는 UNIX상 Make와 비슷한 방식으로 특정된 소스폴더속에 있는 소스파일들을 일일이 자동 컴파일 해준다. 뿐만아니라 웹프로젝트를 진행할 때 Source와 Configuration및 Binary파일을 판단하여 빌드하고 파일 종류에 따라 서로 다른 폴더에로 아웃풋도 가능하다. 또한 Maven처럼 따라야 하는 폴더구조가 너무 엄격하지 않기 때문에 여러모로 쉽게 접근하여 사용할 수 있다.

1. Ant 설치하기
Ant를 설치하기 위하여서는 우선 ant공식 사이트에 가서 최신버젼 ant를 받아온다. 사실 MyEclipse를 깔면 기본으로 ant에 관련된 라이브러리들을 끌어오긴 하지만 수동으로 설치해보겠다. http://ant.apache.org 에 가서 최신버젼 ant를 받아온다. 이 글을 쓰는 시점에서 출시된 최신버젼이 1.7.1이므로 이 버젼 바이너리 파일을 받아온다. 아카이브를 압축풀면 아래 그림에서와 같이 폴더가 구성되었음을 볼수 있다.



우리가 일단 Eclipse에서 Ant의 Lib폴더를 등록해준다. Windows->Preferences->Ant->Runtime에 가보면 이미 Ant Home Entries에 Ant 라이브러리들이 등록이 되었음을 볼수 있다. 잠시 이 라이브러리들을 제거하고 우리가 다운로드한 Ant Lib를 classpath에 잡아준다. Add External JARs를 통하여 이 작업을 할 수 있다. 여기서는 세세히 설명하지 않도록 하겠다.
톰캣하고 연동하기 위하여 별도의 작업이 필요하다. Tomcat 이 설치된 디렉토리에 가보면 lib폴더가 보일것인데 거기서 catalina-ant.jar파일을 classpath에 등록한다. 또한 JDK lib중 tools.jar파일도 등록한다. 이로써 ant설치는 끝난다.

2. Ant 설정하기
Ant 설치된 후 실제 우리가 원하는 프로젝트를 원하는 방식에 따라서 빌드하기 위하여 여러가지 설정이 필요하다. 실제 설정파일에 대한 설명을 할라치면 복잡하고 또 모두 알아야만 빌드를 할수 있는 것도 아니므로 여기서는 템플릿 파일을 가져와 몇군데를 고치는것으로 진행하겠다.
Ant빌드파일을 다운로드 한 샘플에서 가져올수도 있지만 우리는 Tomcat컨테이너와 연동하여 빌드를 해야하기 때문에 Tomcat에서 제공해주는 샘플파일을 쓰겠다.
TOMCAT_HOME->webapps->docs->appdev->sample에서 가보면 build.xml파일이 보일것이다. 이파일을 복사하여 생성한 프로젝트 root에 넣는다. 다음 build.properties 파일을 새로 생성하고 tomcat 의 manager과 연동하기 위한 유저 id와 password를 적는다.







다음 build.xml파일을 열고서 아래와 같은 프로퍼티에 적절한 값을 입력해 넣는다.

<property name="app.name"      value="프로젝트 명"/>
<property name="app.path"      value="/${app.name}"/>
<property name="app.version"   value="0.1-dev"/>
<property name="build.home"    value="톰캣경로/webapps/프로젝트 명"/>
<property name="catalina.home" value="톰캣경로"/>
<property name="dist.home"     value="${basedir}/dist"/>
<property name="docs.home"     value="${basedir}/docs"/>
<property name="manager.url"   value="http://localhost:8080/manager"/>
<property name="src.home"      value="${basedir}/src"/>
<property name="web.home"      value="${basedir}/WebRoot"/>

정확히 설정하였으면 빌드를 시작해보자. 별도로 Java파일을 생성하고 build.xml파일을 연 상태에서 오른쪽 outline의 compile target을 클릭한다.


댓글 없음:

댓글 쓰기