본문으로 바로가기

Ant 빌드

category Devops 5년 전
  1. Ant
  2. Ant 설정
  3. 이클립스 Ant
반응형

Spring 개발을 시작하면서 Maven을 접하다보니 Ant를 사용할 일은 없었다. 최근 공부하는 Spring 샘플 소스가 Ant 프로젝트로 되어있어서 Ant 빌드가 무엇인지 공부해보았다. 레거시한 것들도 공부를 해보면 기술 진화의 히스토리를 알 수 있고 왜 기술이 그런 방향으로 진화했는지 알 수 있다.

Ant

개발 및 배포를 위한 일련의 과정을 자동으로 해주는 빌드툴이다. Maven의 경우 빌드 + @(의존성..)가 있어서 주로 Maven을 많이 사용한다.

Ant 설정

아래 XML 파일의 Ant 설정 파일이다. 경로설정 및 컴파일 작업 war배포까지 개발자가 수작업으로 해야할 것들을 XML 정의를 통해서 자동화 할 수 있다.

<?xml version="1.0"?>

<project name="1-1" basedir="." default="run.sample1">

    <property name="src.dir" value="src"/>
    <property name="lib.dir" value="lib"/>
    <property name="classes.dir" value="classes"/>

    <path id="classpath">
        <fileset dir="${lib.dir}">
            <include name="*.jar"/>
        </fileset>
    </path>

    <target name="init" description="작업디렉토리를 초기화합니다.">
        <delete dir="${classes.dir}"/>
        <mkdir dir="${classes.dir}"/>
    </target>

    <target name="compile" depends="init" description="컴파일합니다">
        <javac destdir="${classes.dir}" debug="on" debuglevel="lines, vars, source"
            includeantruntime="false">
            <src path="${src.dir}"/>
            <classpath refid="classpath"/>
        </javac>
        <copy todir="${classes.dir}">
            <fileset dir="${src.dir}">
                <include name="**/*.xml" />
            </fileset>    
        </copy>
    </target>

    <target name="run.sample1" depends="compile" description="어플리케이션을 기동합니다.">
        <java classname="sample1.HelloApp" classpath="${classes.dir}" classpathref="classpath" fork="true"></java>
    </target>
    <target name="run.sample2" depends="compile" description="어플리케이션을 기동합니다.">
        <java classname="sample2.HelloApp" classpath="${classes.dir}" classpathref="classpath" fork="true"></java>
    </target>
    <target name="run.sample3" depends="compile" description="어플리케이션을 기동합니다.">
        <java classname="sample3.HelloApp" classpath="${classes.dir}" classpathref="classpath" fork="true"></java>
    </target>
</project>

이클립스 Ant

target은 실행할 어플리케이션을 의미하며 이클립스 Outline UI를 통해서 실행할 어플리케이션을 선택할 수 있다.

반응형