การรัน Ant
1) เปิด start menu แล้วเข้าไปที่ run จากนั้นพิมพ์ cmd
2) ให้เราเข้าไป working directory (c:\work) ที่เก็บไฟล์ script (build.xml) แล้วให้สั่งคำสั่งดังต่อไปนี้
C:\work>ant
จะได้ผลลัพธ์ดังนี้
Buildfile: build.xml
go1:
[mkdir] Created dir: C:\work\testdir1
go2:
[mkdir] Created dir: C:\work\testdir2
[mkdir] Created dir: C:\work\testdir2.1
[rename] DEPRECATED – The rename task is deprecated. Use move instead.
go3:
[mkdir] Created dir: C:\work\testdir3
BUILD SUCCESSFUL
Total time: 0 seconds
จะเห็นได้ว่า ant จะหาไฟล์ build.xml โดยอัตโนมัติ และจะเริ่มทำ script ทั้งหมด จนถึง go3 ซึ่งระบุที่ attribute ชื่อ default ของ project จะมีการบอกรายละเอียดการทำงานของ ant ทุกขั้นตอน ถ้าขั้นตอนทั้งหมดสามารถ รันได้ตามปกติ ant จะพิมพ์คำว่า BUILD SUCCESSFUL เพื่อแสดงผล จากนั้น ลองพิมพ์คำสั่ง dos command ->> dir
C:\work>dir
Volume in drive C is WinXP
Volume Serial Number is 080E-22C2
Directory of C:\work
05/21/2007 10:04 PM <DIR> .
05/21/2007 10:04 PM <DIR> ..
05/21/2007 10:03 PM 412 build.xml
05/21/2007 10:04 PM <DIR> testdir1
05/21/2007 10:04 PM <DIR> testdir2
05/21/2007 10:04 PM <DIR> testdir3
1 File(s) 412 bytes
5 Dir(s) 5,201,563,648 bytes free
C:\work>
เราจะพบว่า มี testdir1, testdir2 และ testdir3 อยู่ใน directory ปัจจุบันเป็นที่เรียบร้อย
3) ลองแก้ไขไฟล์ build.xml ให้ชื่อ makedir.xml แล้วพิมพ์คำสั่ง
C:\work>ant -f makedir.xml
ซึ่งผลลัพธ์ก็จะเหมือนขั้นตอนที่แล้ว แต่ในขั้นตอนนี้มีวิธีเรียกใช้ ant แตกต่างกันคือมี parameter -f (
filename) เพื่อระบุ ชื่อไฟล์ script ที่ต้องการ execute
4) ลองรัน ant คำสั่งต่อไปนี้ แล้วสังเกตผล
C:\work>ant -f makedir.xml go2
จะเห็นได้ว่า target สุดท้ายที่ ant รันคือ go2 ซึ่งก็หมายความว่า ถ้าเราต้องการจะ override ตัว target ที่เป็น
default เราก็สามารถทำได้โดยระบุชื่อ target ต่อท้าย filename
Buildfile: makedir.xml
go1:
[mkdir] Created dir: C:\work\testdir1
go2:
[mkdir] Created dir: C:\work\testdir2
[mkdir] Created dir: C:\work\testdir2.1
[rename] DEPRECATED – The rename task is deprecated. Use move instead.
BUILD SUCCESSFUL
Total time: 0 seconds
5) ลองแก้ไข ant script ให้เป็นดังนี้
<!– Begin Script –>
<project name=”MyProject” default=”go3″ basedir=”.”>
<target name=”go1″>
<mkdir dir=”testdir1″/>
</target>
<target name=”go2″ depends=”go1″>
<mkdir dir=”testdir2″/>
<mkdir dir=”testdir2.1″/>
<rename src=”testdir2.1″ dest=”testdir2″/>
</target>
<target name=”go3″>
<mkdir dir=”testdir3″/>
</target>
</project>
<!– End Script –>
โดยลบ attribute ที่ชื่อ depends ออกจาก target ชื่อ go3 แล้วทำการ รัน ant อีกครั้ง จะได้ผลลัพธ์ดังนี้
C:\work>ant -f makedir.xml go3
Buildfile: makedir.xml
go3:
[mkdir] Created dir: C:\work\testdir3
BUILD SUCCESSFUL
Total time: 0 seconds
สังเกตได้ว่า ant เริ่มต้นและสิ้นสุดที่ target ชื่อ go3 โดยไม่ทำ target ชื่อ go1, go2 ซึ่งเป็นเพราะว่า ant จะทำการ ตรวจสอบ target สุดท้ายก่อน แล้วค่อยหา target ที่ต้องทำก่อนจาก target สุดท้ายไป target แรก เช่น ถ้าสั่งรัน
C:\work>ant -f makedir.xml go2 (ใช้ script ที่แก้ไขล่าสุด)
Ant จะทำการรัน go1 และ go2 ตามลำดับ
ถ้าไม่มี depends เช่น ในกรณีนี้ target go3 ant ก็จะรัน go3 ทันที
นึกว่าใครที่แท้รุ่นพี่ที่ภาคนี่เอง ได้ความรู้เยอะเลยขอบคุงก๊าบ
ขอบใจจ้า ช่วยได้เยอะเลย ^^
มีประโยชน์มากเลยครับ
ขอบคุณมากครับ
พอดีได้มาอ่านบทความ แล้วมีคำถามเกี่ยวกับโปรแกรม eclipse ค่ะ
พอดีใส่โค้ดที่เป็นเกี่ยวกันเกมเข้าไป แล้วพอกดรัน มันขึ้นว่า Ant Build อ่ะค่ะ
ไม่ทราบว่า พี่รู้วิธีแก้ไหมคะ ???