Ant - การใช้งานบรรจุภัณฑ์
เราได้เรียนรู้แง่มุมต่างๆของ Ant โดยใช้ไฟล์ Hello World แฟกซ์เว็บแอปพลิเคชันเป็นบิตและชิ้น
ตอนนี้ได้เวลารวบรวมทุกอย่างเข้าด้วยกันเพื่อสร้างไฟล์ build.xml ที่สมบูรณ์และสมบูรณ์ พิจารณาbuild.properties และ build.xml ไฟล์ดังนี้ -
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>
ในตัวอย่างนี้ -
ก่อนอื่นเราประกาศเส้นทางไปยังโฟลเดอร์ webapps ใน Tomcat ในไฟล์คุณสมบัติการสร้างเป็นไฟล์ deploy.path ตัวแปร.
นอกจากนี้เรายังประกาศโฟลเดอร์ต้นทางสำหรับไฟล์ java ในไฟล์ src.dir ตัวแปร.
จากนั้นเราจะประกาศโฟลเดอร์ต้นทางสำหรับไฟล์เว็บในไฟล์ web.dir ตัวแปร. javadoc.dir เป็นโฟลเดอร์สำหรับจัดเก็บเอกสาร java และ build.dir เป็นพา ธ สำหรับจัดเก็บไฟล์เอาต์พุตบิลด์
จากนั้นเราจะประกาศชื่อของเว็บแอปพลิเคชันซึ่งก็คือ fax ในกรณีของเรา
เรายังกำหนดพา ธ คลาสมาสเตอร์ซึ่งมีไฟล์ JAR อยู่ในโฟลเดอร์ WEB-INF / lib ของโปรเจ็กต์
นอกจากนี้เรายังรวมไฟล์คลาสที่มีอยู่ในไฟล์ build.dir ในพา ธ มาสเตอร์คลาส
เป้าหมาย Javadoc สร้าง javadoc ที่จำเป็นสำหรับโปรเจ็กต์และเป้าหมายการใช้งานถูกใช้เพื่อพิมพ์เป้าหมายทั่วไปที่มีอยู่ในไฟล์บิลด์
ตัวอย่างข้างต้นแสดงเป้าหมายการปรับใช้สองเป้าหมาย: deploy และ deploywar.
เป้าหมายการปรับใช้จะคัดลอกไฟล์จากไดเร็กทอรีเว็บไปยังไดเร็กทอรีการปรับใช้โดยสงวนการประทับวันที่เวลาที่แก้ไขล่าสุด สิ่งนี้มีประโยชน์เมื่อปรับใช้กับเซิร์ฟเวอร์ที่รองรับการปรับใช้แบบร้อน
เป้าหมายที่สะอาดจะล้างไฟล์ที่สร้างไว้ก่อนหน้านี้ทั้งหมด
เป้าหมาย deploywar สร้างไฟล์ war จากนั้นคัดลอกไฟล์ war ไปยังไดเร็กทอรี deploy ของแอ็พพลิเคชันเซิร์ฟเวอร์