Instalacja i konfiguracja Apache Ant na Windows oraz przykładowy plik build.xml

Aby ściągnąć Apache Ant wchodzimy na oficjalną stronę projektu

http://ant.apache.org/bindownload.cgi

i klikamy odpowiedni link. W czasie pisania niniejszego artykułu, linkiem do najnowszej wersji w formacie ZIP było

http://www.idg.pl/mirrors/apache//ant/binaries/apache-ant-1.8.3-bin.zip

Gdy już ściągneliśmy to rozpakowywujemy do dowolnego folderu. Na potrzeby artykułu będzie to

D:\Aplikacje\_Programowanie\apache-ant-1.8.3

Teraz musimy ustawić kilka zmiennych środowiskowych. Do PATH dopisujemy folder z plikiem wykonywalnym naszego Ant’a czyli

D:\Aplikacje\_Programowanie\apache-ant-1.8.3\bin

Do tego tworzymy jeszcze dwie nowe zmienne środowiskowe:

ANT_HOME: D:\Aplikacje\_Programowanie\apache-ant-1.8.3\
JAVA_HOME: C:\Program Files\Java\jdk1.7.0_03

Pierwsza to po prostu folder z naszym Ant’em, a druga to folder z naszym JDK. Tyle jeżeli chodzi o instalację i konfigurację. Teraz przykładowy build.xml. Zakładamy, że folder naszego projektu to będzie

D:\_workspace\_Java

Tworzymy więc folder

D:\_workspace\_Java\src

a w nim umieszczamy plik z naszą przykładową klasą do skompilowania. U mnie będzie to

D:\_workspace\_Java\src\HelloWorld.java

i będzie zawierać

public class HelloWorld {
    public static void main(String[] args){
          System.out.println( "Hello World" );
    }
}

Tworzymy jeszcze

D:\_workspace\_Java\build.xml

W nim umieszczamy co następuje:

<project name="Hello World" default="RUN" basedir=".">
 
  <property name="SRC.DIR" value="src"/>
  <property name="DEST.DIR" value="dest"/>
  <property name="CLASS.MAIN" value="HelloWorld"/>
 
  <target name="CLEAN">
    <delete dir="${DEST.DIR}"/>
  </target>
 
  <target name="INIT" depends="CLEAN">
    <mkdir dir="${DEST.DIR}"/>
  </target>
 
  <target name="COMPILE" depends="INIT">
    <javac includeAntRuntime="false" srcdir="${SRC.DIR}" destdir="${DEST.DIR}" />
  </target>
 
  <target name="RUN" depends="COMPILE">
    <java classname="${CLASS.MAIN}" classpath="${DEST.DIR}" />
  </target>
 
</project>

Nie będę opisywał wszystkiego szczegółowo, powiem tylko co się dzieje. Domyślnie wywoływana jest czynność RUN (default=”RUN”). Ona wymaga wcześniejszego wykonania COMPILE (depends=”COMPILE”), ta z kolei wymaga INIT, ta CLEAN. Takim łańcuszkiem dochodzimy do tego, że po kolei wszystkie czynności się wykonują.

Zanim zaczną wykonywać się czynności to ustawiane są 3 zmienne. Folder ze źródłami, folder dla build’a oraz nazwa klasy, która będziemy chcieli uruchomić po skompilowaniu.

W CLEAN kasujemy poprzedni folder build’a. W INIT tworzymy pusty folder. W COMPILE kompilujemy, a w RUN uruchamiamy.

Całość wykonujemy z poziomu katalogu projektu, czyli

D:\_workspace\_Java

poleceniem

ant

W rezultacie dostajemy

Buildfile: D:\_workspace\_Java\build.xml
 
CLEAN:
   [delete] Deleting directory D:\_workspace\_Java\dest
 
INIT:
    [mkdir] Created dir: D:\_workspace\_Java\dest
 
COMPILE:
    [javac] Compiling 1 source file to D:\_workspace\_Java\dest
 
RUN:
     [java] Hello World
 
BUILD SUCCESSFUL
Total time: 1 second