사용자 삽입 이미지build.xml 파일은 위와 같은 구조로 구성되어 있습니다.

최상위 엘리먼트로 project가 있고 그 안에 property, path, taskdef, target 엘리먼트를 정의하며 그 중에서도 target 엘리먼트가 가장 핵심적이고 이 것은 task 엘리먼트로 구성되어 있습니다.

property 엘리먼트에는 빌드 파일에서 사용할 프로터피 속성을 가지고 있는 파일들을 지정합니다.

    <!-- Load properties -->
    <property file="src/database.properties" />
    <property file="src/deploy.properties" />

path 엘리먼트를 사용해서 라이브러리의 경로를 나타낼 수 있습니다.

    <!-- Set classpath -->
    <path id="base-classpath">
        <pathelement path="src" />
        <pathelement path="bin" />
        <fileset dir="web/WEB-INF/lib">
            <include name="*.jar" />
        </fileset>
        <fileset dir="${ant.home}/lib" />
    </path>

taskdef 엘리먼트를 사용하여 Ant가 기본으로 제공하는 task에, 별도의 task 정의를 추가할 수도 있습니다.

  <!-- Configure the custom Ant tasks for the Manager application -->
    <taskdef resource="org/apache/catalina/ant/catalina.tasks" classpathref="base-classpath" />

target 엘리먼트를 사용하여 실제 빌드 행위 하나, 하나를 정의할 수 있습니다. target은 task로 구성되어 있으며, 선행되어야 할 target을 설정할 수 있습니다.

    <!-- 배포 자동화 -->
    <target name="War 생성하기">
        <war destfile="${ant.project.name}.war" webxml="web/WEB-INF/web.xml">
            <lib dir="web/WEB-INF/lib" />
            <classes dir="build/classes" />
            <fileset dir="web" />
        </war>
    </target>

    <target name="Tomcat에 배포하기" depends="War 생성하기">
        <deploy url="${url}" username="${username}" password="${password}" path="/${ant.project.name}" war="${ant.project.name}.war" update="true" />
        <delete file="${ant.project.name}.war"/>
    </target>

참조 :
http://ant.apache.org/manual/
2007/10/13   ANT 사용하기 ... (2) [2]
2007/10/11   ANT 사용하기 ... (1)