มารู้จักกับ Ant กันเถอะ (ตอนจบ)

การรัน 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 ทันที

Share
Related Posts
  1. นึกว่าใครที่แท้รุ่นพี่ที่ภาคนี่เอง ได้ความรู้เยอะเลยขอบคุงก๊าบ

  2. ขอบใจจ้า ช่วยได้เยอะเลย ^^

  3. มีประโยชน์มากเลยครับ

    ขอบคุณมากครับ

  4. พอดีได้มาอ่านบทความ แล้วมีคำถามเกี่ยวกับโปรแกรม eclipse ค่ะ

    พอดีใส่โค้ดที่เป็นเกี่ยวกันเกมเข้าไป แล้วพอกดรัน มันขึ้นว่า Ant Build อ่ะค่ะ

    ไม่ทราบว่า พี่รู้วิธีแก้ไหมคะ ???

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

友情链接:

メイプルストーリー RMT

dragonnest rmt

ARGO RMT

エイカ AIKA RMT

ドラゴンネスト-DragonNest-RMT

AILA rmt アイラ rmt

ネクソンポイント RMT