บทช่วยสอน Apache ANT: เครื่องมือสร้าง Ant คืออะไร ตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
Apache ANT คือ Java เครื่องมือสร้างระบบอัตโนมัติที่ทำงานโดยการคอมไพล์ ทดสอบ บรรจุ และปรับใช้ผ่านไฟล์สร้างระบบ XML บทความนี้จะอธิบายเครื่องมือดังกล่าว tracกล่าวถึงประวัติศาสตร์ ครอบคลุมถึง Windows ขั้นตอนการติดตั้ง อธิบายโครงสร้างโปรเจ็กต์ และเปรียบเทียบกับ Maven และ Gradle.

เครื่องมือสร้างคืออะไร?
เครื่องมือสร้างเป็นเครื่องมือการเขียนโปรแกรมที่ใช้ในการสร้างโปรแกรมเวอร์ชันใหม่ มันทำให้การสร้างแอพพลิเคชั่นปฏิบัติการจากซอร์สโค้ดใด ๆ เป็นแบบอัตโนมัติ
หากไม่มีเครื่องมือสร้างโปรแกรม นักพัฒนาจะต้องคอมไพล์ไฟล์ต้นฉบับทุกไฟล์ คัดลอกทรัพยากร รันชุดทดสอบ และแพ็กเกจผลลัพธ์ด้วยตนเองทุกครั้งที่มีการเปลี่ยนแปลง แต่เครื่องมือสร้างโปรแกรมจะบันทึกขั้นตอนเหล่านั้นเพียงครั้งเดียวและทำซ้ำอย่างเหมือนกันบนทุกเครื่อง
Apache Ant คืออะไร?
มดอาปาเช่ คือ Javaเครื่องมือบรรทัดคำสั่งที่ใช้สำหรับการสร้าง Java แอพพลิเคชั่นพกพาอันบริสุทธิ์เต็มรูปแบบ Java Ant เป็นคำย่อของ Another Neat Tool (เครื่องมือเจ๋งๆ อีกตัว) ซึ่งช่วยให้นักพัฒนาสามารถนำหลักการแบบ Agile และการพัฒนาแบบทดสอบนำ (Test-Driven Development) มาใช้เพื่อทำให้งานพัฒนาที่ซ้ำซากจำเจเป็นไปโดยอัตโนมัติ
ดังที่แสดงในแผนภาพ Ant จะอ่านไฟล์ build แก้ไขลำดับของเป้าหมายภายในไฟล์นั้น จากนั้นจึงเรียกใช้งานแต่ละขั้นตอน ได้แก่ การคอมไพล์ การคัดลอก การทดสอบ และการบรรจุแอปพลิเคชัน
เครื่องมือ Apache Ant Build ใช้ทำอะไร?
ต่อไปนี้คือประโยชน์ที่สำคัญของการใช้เครื่องมือสร้าง:
- เครื่องมือสร้างซอฟต์แวร์ช่วยให้คุณสามารถทำงานซ้ำๆ บางอย่างได้โดยอัตโนมัติ เช่น การคอมไพล์ซอร์สโค้ด การรันการทดสอบซอฟต์แวร์ และการสร้างไฟล์สำหรับการติดตั้งใช้งานซอฟต์แวร์
- เครื่องมือสร้างส่วนใหญ่ทำงานโดยไม่มีอินเทอร์เฟซผู้ใช้แบบกราฟิก
- โปรแกรมนี้ช่วยให้คุณแปลงโค้ดต้นฉบับให้เป็นโค้ดที่สามารถเรียกใช้งานได้
- โปรแกรมนี้มีตัวเลือกให้คอมไพล์ไฟล์ใหม่เฉพาะเมื่อจำเป็นเท่านั้น
- วิธีนี้ช่วยให้คุณสามารถรวบรวมไฟล์จำนวนมากได้ในเวลาอันสั้น
- เครื่องมือสร้างยอดนิยมสองเครื่องมือที่ใช้โดย Java นักพัฒนาคือ Apache Maven และมด
ประวัติความเป็นมาของอาปาเช่แอนท์
ต่อไปนี้เราจะมาเรียนรู้เกี่ยวกับประวัติความเป็นมาของเครื่องมือสร้างโปรแกรม Apache Ant กัน
สถานที่สำคัญทางประวัติศาสตร์ที่สำคัญจากเครื่องมือ Apache Ant มีดังนี้:
- เจมส์ ดันแคน เดวิดสัน สร้างโปรแกรม Ant ขึ้นในเดือนกรกฎาคม ปี 2000
- เดิมทีมันถูกใช้เพื่อสร้าง Tomcat และเป็นส่วนหนึ่งของชุดติดตั้ง Tomcat อยู่แล้ว
- ในเดือนพฤษภาคม 2014 Apache Ant เวอร์ชัน 1.9.4 ได้ถูกปล่อยออกมาพร้อมกับคุณสมบัติขั้นสูงมากมาย
- เวอร์ชัน 1.10.x เริ่มต้นในปี 2017 และยังคงเป็นเวอร์ชันที่ได้รับการดูแลรักษาอย่างต่อเนื่อง
- เวอร์ชัน 1.10.17 เปิดตัวเมื่อวันที่ 10 เมษายน 2026 และต้องการขั้นต่ำ Java ระยะเวลาการทำงาน 8 นาที
คุณสมบัติของ Apache Ant
ต่อไปนี้คือคุณสมบัติหลักของ Apache Ant:
- เป็นโครงการโอเพ่นซอร์ส
- ช่วยให้คุณสามารถรันบิลด์บนทั้งสองฝั่งได้ Windows และระบบ UNIX หรือ Linux
- คุณต้องการเพียงแค่ JVMเนื่องจากสามารถทำงานได้ทุกที่ที่มี JVM ให้บริการ
- โปรแกรมนี้มีฟังก์ชันการทำงานที่กำหนดไว้ล่วงหน้ามากมายให้เลือกใช้
- โปรแกรมนี้ช่วยให้คุณคัดลอกไฟล์จากที่หนึ่งไปยังอีกที่หนึ่งได้
- โปรแกรมนี้มีอินเทอร์เฟซสำหรับพัฒนาภารกิจที่กำหนดเองได้
- ฟังก์ชันนี้ช่วยให้คุณเรียกใช้งานการสร้างจากบรรทัดคำสั่ง ซึ่งผสานรวมเข้ากับระบบอื่นๆ ได้อย่างง่ายดาย IDE ฟรีและเชิงพาณิชย์.
- ฟังก์ชันนี้ช่วยให้คุณสามารถติดตั้งไฟล์ไบนารีลงบนเซิร์ฟเวอร์ทดสอบได้
- มันมีสถาปัตยกรรมที่สามารถขยายได้
- มันรองรับการใช้งานร่วมกับเวอร์ชันเก่าได้
วิธีการติดตั้งและกำหนดค่า Apache Ant บน Windows
ต่อไปนี้เราจะมาเรียนรู้ขั้นตอนการติดตั้ง Apache Ant บน Windows.
เราถือว่าคุณได้ดาวน์โหลดและติดตั้งแล้ว Java ชุดพัฒนา ติดตั้ง Ant บน JDK บนคอมพิวเตอร์ของคุณ ตรวจสอบให้แน่ใจว่าตัวแปรสภาพแวดล้อม JAVA_HOME ถูกตั้งค่าให้ชี้ไปยังโฟลเดอร์ที่ติดตั้ง JDK ไว้ ทำตามขั้นตอนด้านล่างเพื่อติดตั้ง Ant:
ขั้นตอน 1) ดาวน์โหลดไบนารี
ดาวน์โหลดไบนารีจาก https://ant.apache.org/bindownload.cgi
ขั้นตอน 2) แตกไฟล์
แตกไฟล์ซิปนี้ไปยังตำแหน่งที่สะดวก เช่น c:\folder โดยใช้คำสั่ง... WinZip, WinRAR, 7-Zipหรือเครื่องมือที่คล้ายคลึงกัน
ขั้นตอน 3) สร้างตัวแปรสภาพแวดล้อม
สร้างตัวแปรสภาพแวดล้อมสำหรับ “ANT_HOME” และกำหนดค่าของตัวแปรนั้นให้เป็นตำแหน่งที่ตั้งของโฟลเดอร์ Ant
- คลิกขวาที่ไอคอน "พีซีเครื่องนี้"
- คลิกที่คุณสมบัติ
ขั้นตอน 4) ไปที่การตั้งค่าระบบ
คลิกที่ "การตั้งค่าระบบขั้นสูง"
ขั้นตอน 5) เกี่ยวกับคุณสมบัติของระบบ
คลิกที่แท็บ “ขั้นสูง”
ขั้นตอน 6) ค้นหาตัวแปรสภาพแวดล้อม
คลิกที่ปุ่ม “ตัวแปรสภาพแวดล้อม…”
ขั้นตอน 7) สร้างตัวแปรใหม่
คลิกที่ "ใหม่" เพื่อสร้างตัวแปรผู้ใช้ใหม่
ขั้นตอน 8) ป้อนรายละเอียดตัวแปร
ป้อนรายละเอียดตัวแปรผู้ใช้ใหม่
- ป้อนชื่อตัวแปรเป็น ANT_HOME
- ป้อนค่าตัวแปรเป็นโฟลเดอร์ที่แตกไฟล์ Ant ออกมา ตัวอย่างเช่น C:\apache-ant-1.10.17
- คลิกที่ปุ่ม "ตกลง"
ขั้นตอน 9) สร้างตัวแปรแล้ว
คลิกที่ปุ่ม "ตกลง"
ขั้นตอน 10) ปิดหน้าจอ
คลิกที่ "ตกลง" เพื่อปิดหน้าจอ
💡 เคล็ดลับ: ANT_HOME ต้องชี้ไปยังโฟลเดอร์การติดตั้งโดยตรง ไม่ใช่โฟลเดอร์ bin ที่อยู่ภายใน จากนั้นจึงเพิ่มเข้าไป %ANT_HOME%\bin เพิ่มค่านี้ลงในตัวแปร Path เพื่อให้ระบบรู้จักคำสั่ง ant จากทุกไดเร็กทอรี
คุณสามารถตรวจสอบความสำเร็จของการติดตั้ง Ant ได้โดยพิมพ์ typing คำสั่ง “ant -version” ในหน้าต่าง Command Prompt
คุณจะเห็นหน้าจอต่อไปนี้:
ตัวอย่างของ Apache ANT
ไฟล์ build ด้านล่างกำหนดเป้าหมายเดียวชื่อ hello ที่จะแสดงข้อความ ส่วนประกอบ project ประกาศชื่อและเป้าหมายเริ่มต้น เพื่อให้ Ant รู้ว่าจะเรียกใช้สิ่งใดเมื่อไม่ได้ระบุชื่อเป้าหมายในบรรทัดคำสั่ง
<?xml version="1.0"?> <project name="HelloWorld" default="hello" basedir="."> <target name="hello"> <echo>Hello, World</echo> </target> </project>
บันทึกไฟล์นี้เป็น “build.xml” จากนั้นทำตามสองขั้นตอนต่อไปนี้:
- เปิดหน้าต่าง Command Prompt แล้วไปยังไดเร็กทอรีที่มีไฟล์ build.xml อยู่
- วิ่ง
ant helloหรือเพียงแค่antเนื่องจาก hello ถูกกำหนดให้เป็นเป้าหมายเริ่มต้น หากต้องการใช้ชื่อไฟล์อื่น ให้รันคำสั่งต่อไปนี้ant -f mybuild.xml hello.
Output:
Buildfile: C:\projects\demo\build.xml
hello:
[echo] Hello, World
BUILD SUCCESSFUL
Total time: 0 seconds
โครงสร้างโครงการ ANT
โครงสร้างโครงการ ANT
ดังที่แผนภาพโครงสร้างแสดงให้เห็น โครงสร้างแต่ละอันจะประกอบด้วยโหนดสามโหนด:
- โครงการ
- Target
- งาน
โครงการ
ทุกอย่างภายในไฟล์บิลด์ใน Apache ANT อยู่ภายใต้โปรเจ็กต์
คุณสมบัติ:
- ชื่อ: ชื่อโครงการ
- Basedir: นี่คือไดเร็กทอรีที่จะใช้ในการคำนวณเส้นทางทั้งหมด สามารถเปลี่ยนแปลงค่านี้ได้โดยใช้คุณสมบัติ “basedir”
- ค่าเริ่มต้น: ช่วยให้คุณกำหนดเป้าหมายเริ่มต้นสำหรับโปรเจ็กต์นี้ หากไม่ได้ระบุเป้าหมาย Ant จะดำเนินการตามค่าเริ่มต้น
Target
เป้าหมายคือชุดของงานที่กำหนดไว้เพื่อให้บรรลุสถานะเฉพาะในกระบวนการสร้าง
คุณสมบัติ:
- ชื่อ: ชื่อของเป้าหมาย (จำเป็น)
- Descriptไอออน: Descriptไอออนของเป้าหมาย
- พึ่งพา: เป้าหมายปัจจุบันนี้ขึ้นอยู่กับเป้าหมายใด
- ถ้า: จะดำเนินการตามเป้าหมายก็ต่อเมื่อมีการกำหนดค่าให้กับคุณสมบัติของเป้าหมายเท่านั้น
- เว้นแต่: จะดำเนินการตามเป้าหมายก็ต่อเมื่อไม่ได้กำหนดค่าคุณสมบัติไว้เท่านั้น
งาน
งาน (Task) คือส่วนของโค้ดที่สามารถเรียกใช้งานได้ งานมีอาร์กิวเมนต์หรือแอตทริบิวต์ได้หลายอย่าง
รูปแบบวิธีการทั่วไปในการเขียนโจทย์มีดังนี้:
<name attribute1="value" attribute2="value2"…/>
คุณสามารถใช้ภารกิจที่มีอยู่แล้ว หรือสร้างภารกิจของคุณเองก็ได้ ตารางด้านล่างแสดงรายการภารกิจที่ปรากฏในเกือบทุกภารกิจ Java ไฟล์สร้าง.
| งาน | จุดมุ่งหมาย | คุณลักษณะทั่วไป |
|---|---|---|
| เสียงสะท้อน | พิมพ์ข้อความลงในคอนโซล | ข่าวสาร |
| mkdir | สร้างไดเร็กทอรี | dir |
| ลบ | ลบไฟล์หรือโฟลเดอร์ | ไดเร็กทอรี รวมไดเร็กทอรีว่าง |
| จาวัค | คอมไพล์ Java ไฟล์ต้นฉบับ | srcdir, destdir, รวมอันรันไทม์ |
| ไฟไหม้ | บรรจุคลาสต่างๆ ลงในไฟล์ JAR | ไฟล์ปลายทาง, basedir |
| สำเนา | คัดลอกไฟล์ระหว่างตำแหน่งต่างๆ | ไฟล์, ไดเร็กทอรี |
| จูนิท | รันการทดสอบหน่วย | haltonfailure, printsummary |
ตัวอย่างไฟล์ build.xml ที่สมบูรณ์พร้อมตัวเลือกหลายรายการ Targets
ไฟล์ build ที่สมจริงจะเชื่อมโยงเป้าหมายหลายอย่างเข้าด้วยกัน คุณสมบัติ depends จะรับประกันลำดับ ดังนั้น Ant จะล้างโฟลเดอร์เอาต์พุต คอมไพล์ซอร์สโค้ด แล้วจึงสร้างไฟล์ jar
<?xml version="1.0"?> <project name="DemoApp" default="jar" basedir="."> <!-- reusable values --> <property name="src.dir" value="src"/> <property name="build.dir" value="build"/> <target name="clean" description="Remove previous output"> <delete dir="${build.dir}"/> </target> <target name="compile" depends="clean" description="Compile sources"> <mkdir dir="${build.dir}/classes"/> <javac srcdir="${src.dir}" destdir="${build.dir}/classes" includeantruntime="false"/> </target> <target name="jar" depends="compile" description="Package the jar"> <mkdir dir="${build.dir}/jar"/> <jar destfile="${build.dir}/jar/DemoApp.jar" basedir="${build.dir}/classes"> <manifest> <attribute name="Main-Class" value="com.guru99.Main"/> </manifest> </jar> </target> </project>
Output:
Buildfile: C:\projects\DemoApp\build.xml
clean:
[delete] Deleting directory C:\projects\DemoApp\build
compile:
[mkdir] Created dir: C:\projects\DemoApp\build\classes
[javac] Compiling 3 source files to C:\projects\DemoApp\build\classes
jar:
[mkdir] Created dir: C:\projects\DemoApp\build\jar
[jar] Building jar: C:\projects\DemoApp\build\jar\DemoApp.jar
BUILD SUCCESSFUL
Total time: 1 second
Apache Ant เทียบกับ Maven เทียบกับ Gradle
เครื่องมือสร้างโปรแกรมสามอย่างมีบทบาทสำคัญ Java ระบบนิเวศแต่ละแห่งมีจุดยืนที่แตกต่างกันเกี่ยวกับระดับของโครงสร้างที่ควรกำหนดขึ้น
| พารามิเตอร์ | มดอาปาเช่ | Apache Maven | Gradle |
|---|---|---|---|
| รูปแบบสคริปต์การสร้าง | XML | XML | Groovy หรือ Kotlin DSL |
| เข้าใกล้ | เป็นแบบเชิงกระบวนการ คุณกำหนดทุกขั้นตอนเอง | การประกาศเชิงอนุมาน เหนือกว่าการกำหนดค่า | การประกาศพร้อมส่วนขยายสคริปต์ |
| การจัดการการพึ่งพา | ไม่ได้สร้างมาในตัว แต่เพิ่มเข้ามาผ่าน Apache Ivy | สร้างขึ้นโดยใช้ที่เก็บข้อมูลส่วนกลาง | ติดตั้งมาพร้อมกับระบบ และใช้งานร่วมกับ Maven ได้ |
| โครงสร้างโครงการ | ฟรีอย่างสมบูรณ์ | รูปแบบมาตรฐานคงที่ | อิงตามข้อตกลง แต่สามารถเปลี่ยนแปลงได้ |
| การสร้างที่เพิ่มขึ้น | ถูก จำกัด | ถูก จำกัด | ใช่ครับ โดยใช้แคชการสร้าง |
| โค้งการเรียนรู้ | ต่ำสำหรับผู้ใช้ XML | ปานกลาง | Steeper ต้องใช้ DSL |
| เหมาะที่สุดสำหรับ | โครงการดั้งเดิมและการสร้างตามความต้องการเฉพาะสูง | Standard Java โครงการ | โมดูลขนาดใหญ่และหลายโมดูล Android โครงการ |
Ant ยังคงเป็นตัวเลือกที่เหมาะสมเมื่อโครงสร้างไม่ตรงกับรูปแบบมาตรฐาน หรือเมื่อโครงการที่มีอยู่แล้วต้องพึ่งพาเป้าหมายที่เขียนด้วยมือ
แนวปฏิบัติที่ดีที่สุดของการใช้ Apache Ant
ต่อไปนี้เป็นแนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้งาน Apache Ant
- คุณควรกำหนดหมายเลขบิลด์โดยอัตโนมัติโดยใช้ไฟล์คุณสมบัติ
- สร้างกระบวนการสร้างที่สามารถปรับแต่งได้ด้วยความช่วยเหลือจากไฟล์คุณสมบัติเริ่มต้นและไฟล์คุณสมบัติการสร้าง ไฟล์เหล่านี้ช่วยให้คุณจัดเก็บคุณสมบัติที่กำหนดข้อมูลสำหรับกระบวนการสร้างของคุณ เช่น เวอร์ชันคอมไพเลอร์และการตั้งค่าการเพิ่มประสิทธิภาพ
- คุณสามารถนำไลบรารีที่สร้างไว้ล่วงหน้ากลับมาใช้ใหม่ได้โดยใช้ไฟล์คุณสมบัติไลบรารี
- กำหนดแอตทริบิวต์คำอธิบายให้กับเป้าหมายทุกเป้าหมาย เพื่อให้
ant -projecthelpแสดงสรุปข้อมูลการสร้างที่ใช้งานได้จริง - ควรแยกโฟลเดอร์เป้าหมายที่สะอาดออกจากโฟลเดอร์อื่น และห้ามลบโฟลเดอร์ที่มีไฟล์ต้นฉบับอยู่ด้วยเด็ดขาด
ข้อดีของการใช้ Apache Ant
ต่อไปนี้คือข้อดีของการใช้ Apache Ant:
- Ant เป็นโปรแกรมที่ไม่ขึ้นกับแพลตฟอร์มใดๆ ดังนั้นจึงช่วยให้คุณจัดการคุณสมบัติเฉพาะแพลตฟอร์มได้ เช่น ตัวคั่นไฟล์
- Ant อนุญาตให้คุณทำงานเฉพาะแพลตฟอร์มได้ เช่น การแก้ไขเวลาแก้ไขล่าสุดของไฟล์โดยใช้คำสั่ง 'touch'
- สคริปต์ Ant เขียนขึ้นโดยใช้ภาษาธรรมดา XMLดังนั้น หากคุณคุ้นเคยกับ XML อยู่แล้ว คุณจะสามารถเรียนรู้ Ant ได้อย่างรวดเร็ว
- Ant มีรายการงานที่กำหนดไว้ล่วงหน้ามากมายให้เลือกใช้
- มันมีอินเทอร์เฟซสำหรับการพัฒนาping งานที่ปรับแต่งตามความต้องการเฉพาะ
- คุณสามารถเรียกใช้ Ant จากบรรทัดคำสั่งได้อย่างง่ายดาย ซึ่งช่วยให้สามารถทำงานร่วมกับ IDE ทั้งแบบฟรีและแบบเสียเงินได้
- คุณต้องการเพียงแค่ JVM เท่านั้น ดังนั้นมันจึงสามารถทำงานได้ทุกที่ที่มี JVM ให้บริการ
- Apache Ant เป็นไลบรารีโอเพ่นซอร์สที่อนุญาตให้ผู้ใช้เข้าถึงซอร์สโค้ดและทำซ้ำได้
- Apache Ant เป็นเครื่องมือข้ามแพลตฟอร์มที่ช่วยให้คุณจัดการ... Java โครงสร้าง classpath และไดเร็กทอรีไฟล์ในลักษณะที่เหมาะสม
- Apache Ant สามารถขยายได้อย่างง่ายดายโดยใช้ Java และภาษาโปรแกรมอื่นๆ
- Apache Ant มีระบบสนับสนุนในตัวสำหรับการพัฒนา J2EE เช่น การคอมไพล์และการจัดแพ็กเกจ EJB
- คุณสามารถใช้มันได้ทั้งสำหรับโครงการส่วนตัวขนาดเล็ก ไปจนถึงโครงการซอฟต์แวร์ขนาดใหญ่หรือเว็บไซต์
Ant มักถูกใช้งานร่วมกับตัวรันการทดสอบและเซิร์ฟเวอร์การรวมระบบอย่างต่อเนื่อง ดูเพิ่มเติมได้ที่ JUnit สำหรับเลเยอร์ทดสอบ Jenkins สำหรับการสร้างตามกำหนดเวลา และ โดยใช้ Apache Ant ร่วมกับ Selenium สำหรับการทดสอบเบราว์เซอร์แบบอัตโนมัติ รายงานที่สร้างขึ้นระหว่างการสร้างสามารถแสดงผลได้ด้วย แจสเปอร์รีพอร์ตส์.













