Apache Ant – szybki start
Ant – szybki start
Apache Ant to system budowania aplikacji oparty na języku Javy. Ant do opisu kroków procesu budowania aplikacji wykorzystuje pliki XML. Ten wpis ma na celu pokazanie jak skonfigurować oraz wykorzystać narzędzie ANT do zbudowania prostej aplikacji napisanej w języku Java. Zaczniemy od pobrania i konfiguracji narzędzia a następnie zbudujemy plik XML który opisze z kolei w jaki sposób zbudować aplikacji i uzyskać wynikowy plik JAR. Narzędzie ANT pobieramy na dysk swojego komputera ze strony – https://ant.apache.org/bindownload.cgi. W moim przypadku jest to https://apache.mirrors.tworzy.net//ant/binaries/apache-ant-1.9.15-bin.zip. Instalacja narzędzia sprowadza się do konfiguracji zmiennych środowiskowych:
zmienna: ANT_HOME
wartość: C:\Users\nazwa_uzytkownika\Downloads\apache-ant-1.9.15-bin\apache-ant-1.9.15
pamiętajmy również aby zmienną ANT_HOME dodać do zmiennej środowiskowej Path. Testujemy poprzez wykonanie w konsoli polecenia:
ant -v
w wyniku powinniśmy otrzymać wersję zainstalowanego Anta:
Apache Ant(TM) version 1.9.15 compiled on May 10 2020
Poniżej znajduje się prosta klasa:
package pl.javaleader; public class JavaLeader { public static void main(String[] args) { System.out.println("JavaLeader.pl"); } }
Przechodzimy do projektowania pliku build.xml opisującego proces budowania aplikacji:
<project name="HelloWorld" basedir="." default="main"> <property name="src.dir" value="src"/> <property name="build.dir" value="build"/> <property name="classes.dir" value="${build.dir}/classes"/> <property name="jar.dir" value="${build.dir}/jar"/> <property name="main-class" value="oata.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"> <java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/> </target> <target name="clean-build" depends="clean,jar"/> <target name="main" depends="clean,run"/> </project>
Plik ten opisuje kroki jakie prowadzą do powstania wynikowego pliku JAR:
- clean
- compile
- jar
Projekt budujemy wykonując z konsoli niżej zamieszczone polecenie będąc w katalogu gdzie znajduje się plik build.xml:
ant
w wyniku otrzymamy:
Buildfile: C:\Users\mwarycha\Desktop\ant\build.xml clean: [delete] Deleting directory C:\Users\mwarycha\Desktop\ant\build compile: [mkdir] Created dir: C:\Users\mwarycha\Desktop\ant\build\classes [javac] C:\Users\mwarycha\Desktop\ant\build.xml:17: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds [javac] Compiling 1 source file to C:\Users\mwarycha\Desktop\ant\build\classes jar: [mkdir] Created dir: C:\Users\mwarycha\Desktop\ant\build\jar [jar] Building jar: C:\Users\mwarycha\Desktop\ant\build\jar\HelloWorld.jar run: [java] Hello World main: BUILD SUCCESSFUL Total time: 4 seconds
Wykonane polecenie ant sprowadza się do wykonania faz – clean oraz run. Uruchomienie pliku jar zależy od kroku – budowania pliku jar. Budowanie pliku jar zależy z kolei od kroku – skompilowania projektu. Czyli zanim zostanie zbudowany wynikowy plik jar to najpierw projekt zostanie skompilowany. Za mechanizm zależności do poszczególnych faz odpowiada instrukcja zawarta w pliku build.xml:
depends
Leave a comment