Ant - Aplikasi Pengemasan
Kami telah mempelajari berbagai aspek Ant menggunakan Hello World Aplikasi web faks sedikit demi sedikit.
Sekarang saatnya menggabungkan semuanya untuk membuat file build.xml yang lengkap dan lengkap. Mempertimbangkanbuild.properties dan build.xml file sebagai berikut -
build.properties
deploy.path = c:\tomcat6\webapps
build.xml
<?xml version = "1.0"?>
<project name = "fax" basedir = "." default = "usage">
<property file = "build.properties"/>
<property name = "src.dir" value = "src"/>
<property name = "web.dir" value = "war"/>
<property name = "javadoc.dir" value = "doc"/>
<property name = "build.dir" value = "${web.dir}/WEB-INF/classes"/>
<property name = "name" value = "fax"/>
<path id = "master-classpath">
<fileset dir = "${web.dir}/WEB-INF/lib">
<include name = "*.jar"/>
</fileset>
<pathelement path = "${build.dir}"/>
</path>
<target name = "javadoc">
<javadoc packagenames = "faxapp.*" sourcepath = "${src.dir}"
destdir = "doc" version = "true" windowtitle = "Fax Application">
<doctitle><![CDATA[<h1> = Fax Application = </h1>]]>
</doctitle>
<bottom><![CDATA[Copyright © 2011. All Rights Reserved.]]>
</bottom>
<group title = "util packages" packages = "faxapp.util.*"/>
<group title = "web packages" packages = "faxapp.web.*"/>
<group title = "data packages" packages = "faxapp.entity.*:faxapp.dao.*"/>
</javadoc>
</target>
<target name = "usage">
<echo message = ""/>
<echo message = "${name} build file"/>
<echo message = "-----------------------------------"/>
<echo message = ""/>
<echo message = "Available targets are:"/>
<echo message = ""/>
<echo message = "deploy --> Deploy application as directory"/>
<echo message = "deploywar --> Deploy application as a WAR file"/>
<echo message = ""/>
</target>
<target name = "build" description = "Compile main source tree java files">
<mkdir dir = "${build.dir}"/>
<javac destdir = "${build.dir}" source = "1.5" target = "1.5" debug = "true"
deprecation = "false" optimize = "false" failonerror = "true">
<src path = "${src.dir}"/>
<classpath refid = "master-classpath"/>
</javac>
</target>
<target name = "deploy" depends = "build" description = "Deploy application">
<copy todir = "${deploy.path}/${name}" preservelastmodified = "true">
<fileset dir = "${web.dir}">
<include name = "**/*.*"/>
</fileset>
</copy>
</target>
<target name = "deploywar" depends = "build" description =
"Deploy application as a WAR file">
<war destfile = "${name}.war" webxml = "${web.dir}/WEB-INF/web.xml">
<fileset dir = "${web.dir}">
<include name = "**/*.*"/>
</fileset>
</war>
<copy todir = "${deploy.path}" preservelastmodified = "true">
<fileset dir = ".">
<include name = "*.war"/>
</fileset>
</copy>
</target>
<target name = "clean" description = "Clean output directories">
<delete>
<fileset dir = "${build.dir}">
<include name = "**/*.class"/>
</fileset>
</delete>
</target>
</project>
Dalam contoh ini -
Pertama-tama kami mendeklarasikan jalur ke folder webapps di Tomcat di file properti build sebagai file deploy.path variabel.
Kami juga mendeklarasikan folder sumber untuk file java di src.dir variabel.
Kemudian kami mendeklarasikan folder sumber untuk file web di web.dir variabel. javadoc.dir adalah folder untuk menyimpan dokumentasi java, dan build.dir adalah jalur untuk menyimpan file keluaran build.
Kemudian kami mendeklarasikan nama aplikasi web, yaitu fax dalam kasus kami.
Kami juga menentukan jalur kelas master yang berisi file JAR yang ada di folder WEB-INF / lib proyek.
Kami juga menyertakan file kelas yang ada di build.dir di jalur kelas master.
Target Javadoc menghasilkan javadoc yang diperlukan untuk proyek dan target penggunaan digunakan untuk mencetak target umum yang ada dalam file build.
Contoh di atas menunjukkan dua target penerapan: deploy dan deploywar.
Target penerapan menyalin file dari direktori web ke direktori penerapan dengan mempertahankan stempel waktu tanggal yang terakhir diubah. Ini berguna saat menyebarkan ke server yang mendukung penyebaran panas.
Target bersih membersihkan semua file yang dibangun sebelumnya.
Target deploywar membuat file perang dan kemudian menyalin file perang ke direktori penerapan server aplikasi.