ant tutorial 빌드파일 향상

세벌의 이미지

http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html#enhance 참고

빌드 파일 향상

이제 돌아가는 빌드파일이 있으니 뭔가 향상시켜보자: 여러번 같은 디렉토리를 참조하고, 주클래스가 굳게 코드 되고, 자르이름이 굳게 코드 되고,
부를 때 빌드단계의 정확한 순서를 기억해야 한다.

첫번째 와 두번재는 property로, 세번째는 특별한 성질 - project 태그의 속성으로, 네번째 문제는 depends를 사용하여 풀 수 있다.

<?xml version='1.0' encoding='utf-8'?>
<project name="HelloWorld" basedir="." default="main">
    <property name="src.dir"     value="src"/>
    <property name="build.dir"   value="bld"/>
    <property name="classes.dir" value="${build.dir}/classes"/>
    <property name="jar.dir"     value="${build.dir}/jar"/>
    <property name="main-class"  value="sebul.HelloWorld"/>
 
    <target name="clean">
        <delete dir="${build.dir}"/>
    </target>
 
    <target name="compile">
        <mkdir dir="${classes.dir}"/>
        <javac srcdir="${src.dir}" destdir="${classes.dir}"/>
    </target>
 
    <target name="jar" depends="compile">
        <mkdir dir="${jar.dir}"/>
        <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
            <manifest>
                <attribute name="Main-Class" value="${main-class}"/>
            </manifest>
        </jar>
    </target>
 
    <target name="run" depends="jar">
        [geshifilter-java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/]&#10;    &lt;/target&gt;&#10;&#10;    &lt;target name=&quot;clean-build&quot; depends=&quot;clean,jar&quot;/&gt;&#10;&#10;    &lt;target name=&quot;main&quot; depends=&quot;clean,run&quot;/&gt;&#10;&#10;&lt;/project&gt;&#10;
이제 더 쉬워졌다. ant 만 하면 아래와 같이 된다. &#10;Buildfile: D:\a\e\build.xml&#10;&#10;clean:&#10;   [delete] Deleting directory D:\a\e\bld&#10;&#10;compile:&#10;    [mkdir] Created dir: D:\a\e\bld\classes&#10;    [javac] D:\a\e\build.xml:20: warning: &#039;includeantruntime&#039; was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds&#10;    [javac] Compiling 1 source file to D:\a\e\bld\classes&#10;&#10;jar:&#10;    [mkdir] Created dir: D:\a\e\bld\jar&#10;      [jar] Building jar: D:\a\e\bld\jar\HelloWorld.jar&#10;&#10;run:&#10;     [java] Hello World&#10;&#10;main:&#10;&#10;BUILD SUCCESSFUL&#10;Total time: 1 second&#10; 원문에는 안 나왔는데 제가 실행해 보니 &#10;[javac] D:\a\e\build.xml:20: warning: &#039;includeantruntime&#039; was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds&#10; 이런 메시지가 나오네요. 아시는 분 설명 부탁드립니다. 경고 메시지는 나오지만 컴파일, 실행은 다 잘 됩니다.[/geshifilter-java]
Forums: