Hướng dẫn về Apache ANT: Công cụ xây dựng Ant là gì? Ví dụ
⚡ Tóm tắt thông minh
Apache ANT là một Java Công cụ xây dựng dựa trên XML tự động hóa quá trình biên dịch, kiểm thử, đóng gói và triển khai thông qua tệp xây dựng XML. Bài viết này định nghĩa công cụ đó. traclịch sử của nó, bao gồm Windows quá trình cài đặt, giải thích cấu trúc dự án và so sánh nó với Maven và... Gradle.

Công cụ xây dựng là gì?
Công cụ xây dựng là một công cụ lập trình được sử dụng để xây dựng phiên bản mới của chương trình. Nó tự động tạo ra một ứng dụng thực thi từ bất kỳ mã nguồn nào.
Nếu không có công cụ biên dịch, nhà phát triển sẽ phải tự biên dịch từng tập tin mã nguồn, sao chép tài nguyên, chạy bộ kiểm thử và đóng gói kết quả mỗi khi có thay đổi. Công cụ biên dịch chỉ ghi lại các bước đó một lần và lặp lại chúng một cách chính xác trên mọi máy.
Kiến Apache là gì?
Kiến Apache là một Java-công cụ dòng lệnh dựa trên để xây dựng Java các ứng dụng có đầy đủ tính di động của thuần túy Java Nó cho phép các nhà phát triển áp dụng các nguyên tắc linh hoạt và phát triển dựa trên kiểm thử để tự động hóa các tác vụ phát triển lặp đi lặp lại như tạo tài liệu. Ant là viết tắt của Another Neat Tool (Một công cụ tuyệt vời khác).
Như sơ đồ minh họa, Ant đọc một tập tin xây dựng, xác định thứ tự các mục tiêu bên trong đó, và sau đó chạy các tác vụ riêng lẻ để biên dịch, sao chép, kiểm tra và đóng gói ứng dụng.
Công cụ Apache Ant Build dùng để làm gì?
Dưới đây là những lợi ích quan trọng khi sử dụng công cụ xây dựng:
- Công cụ xây dựng cho phép bạn tự động hóa các tác vụ lặp đi lặp lại cụ thể như biên dịch mã nguồn, chạy thử nghiệm phần mềm và tạo tệp để triển khai phần mềm.
- Các công cụ xây dựng hầu hết chạy mà không có giao diện người dùng đồ họa.
- Nó giúp bạn chuyển đổi mã nguồn thành mã thực thi.
- Nó cung cấp tùy chọn biên dịch lại tệp chỉ khi cần thiết.
- Nó cho phép bạn biên dịch một lượng lớn tập tin trong một khoảng thời gian tương đối ngắn.
- Hai công cụ xây dựng phổ biến rộng rãi được sử dụng bởi Java Các nhà phát triển là Apache Maven và Kiến.
Lịch sử của kiến Apache
Bây giờ chúng ta sẽ tìm hiểu về lịch sử của công cụ xây dựng Apache Ant.
Dưới đây là các mốc lịch sử quan trọng từ công cụ Apache Ant:
- James Duncan Davidson đã tạo ra nhân vật Ant vào tháng 7 năm 2000.
- Ban đầu nó được sử dụng để xây dựng Tomcat và là một sản phẩm tích hợp sẵn trong bộ phân phối Tomcat.
- Vào tháng 5 năm 2014, phiên bản Apache Ant 1.9.4 đã được phát hành với nhiều tính năng nâng cao.
- Dòng 1.10.x bắt đầu từ năm 2017 và vẫn là nhánh được duy trì tích cực cho đến nay.
- Phiên bản 1.10.17 được phát hành vào ngày 10 tháng 4 năm 2026 và yêu cầu cấu hình tối thiểu. Java 8 lần chạy.
Các tính năng của Kiến Apache
Dưới đây là các tính năng chính của Apache Ant:
- Nó là một dự án mã nguồn mở.
- Nó cho phép bạn chạy các bản dựng trên cả hai thiết bị. Windows và các hệ thống UNIX hoặc Linux.
- Bạn chỉ cần JVMvì nó có thể chạy ở bất cứ nơi nào có JVM.
- Nó cung cấp một loạt các nhiệm vụ được xác định trước.
- Nó giúp bạn sao chép tập tin từ vị trí này sang vị trí khác.
- Nó cung cấp giao diện để phát triển các tác vụ tùy chỉnh.
- Nó cho phép bạn gọi các bản dựng từ dòng lệnh, tích hợp dễ dàng với... IDE miễn phí và thương mại.
- Nó cho phép bạn triển khai các tập tin nhị phân lên máy chủ thử nghiệm.
- Nó cung cấp một kiến trúc có khả năng mở rộng.
- Nó cung cấp khả năng tương thích ngược giữa các phiên bản.
Cách cài đặt và cấu hình Apache Ant trên Windows
Bây giờ chúng ta sẽ tìm hiểu quy trình cài đặt Apache Ant trên Windows.
Chúng tôi giả định rằng bạn đã tải xuống và cài đặt Java Bộ dụng cụ phát triển (JDK) trên máy tính của bạn. Hãy chắc chắn rằng biến môi trường JAVA_HOME được thiết lập thành thư mục nơi JDK của bạn được cài đặt. Thực hiện các bước sau để cài đặt Ant:
Bước 1) Tải xuống các tệp nhị phân.
Tải xuống các tệp nhị phân từ https://ant.apache.org/bindownload.cgi
Bước 2) Giải nén tệp.
Giải nén tệp zip này vào một vị trí thuận tiện, chẳng hạn như c:\folder, bằng cách sử dụng lệnh sau: WinZip, WinRAR, 7-Ziphoặc một công cụ tương tự.
Bước 3) Tạo một biến môi trường.
Tạo một biến môi trường có tên “ANT_HOME” và gán giá trị của biến đó là vị trí thư mục Ant.
- Nhấp chuột phải vào biểu tượng "Máy tính này".
- Nhấp vào Thuộc tính.
Bước 4) Đi đến cài đặt hệ thống.
Nhấp vào “Cài đặt hệ thống nâng cao”.
Bước 5) Về thuộc tính hệ thống,
Nhấp chuột vào tab “Nâng cao”.
Bước 6) Tìm các biến môi trường.
Nhấp vào nút “Biến môi trường…”.
Bước 7) Tạo một biến mới.
Nhấp vào “Mới” để tạo biến người dùng mới.
Bước 8) Nhập thông tin chi tiết của biến.
Nhập thông tin chi tiết về biến người dùng mới.
- Nhập tên biến là ANT_HOME.
- Nhập giá trị biến là thư mục nơi Ant đã được giải nén, ví dụ: C:\apache-ant-1.10.17.
- Nhấp vào nút “OK”.
Bước 9) Biến đã được tạo.
Nhấp vào nút “OK”.
Bước 10) Đóng màn hình.
Bấm vào “OK” để đóng màn hình.
💡 Mẹo: Biến môi trường ANT_HOME phải trỏ đến thư mục cài đặt, chứ không phải thư mục bin bên trong đó. Sau đó, thêm vào... %ANT_HOME%\bin Thêm vào biến Path, nhờ đó lệnh ant được nhận diện từ bất kỳ thư mục nào.
Bạn có thể xác minh việc cài đặt Ant thành công bằng cách gõ...ping Lệnh “ant -version” trong cửa sổ dòng lệnh.
Bạn sẽ thấy màn hình sau:
Ví dụ về Apache ANT
Tệp cấu hình bên dưới định nghĩa một mục tiêu duy nhất có tên là hello, mục tiêu này sẽ in ra một thông báo. Phần tử project khai báo một tên và một mục tiêu mặc định, vì vậy Ant biết phải chạy gì khi không có mục tiêu nào được chỉ định trên dòng lệnh.
<?xml version="1.0"?> <project name="HelloWorld" default="hello" basedir="."> <target name="hello"> <echo>Hello, World</echo> </target> </project>
Lưu tệp này với tên “build.xml”, sau đó làm theo hai bước sau:
- Mở cửa sổ dòng lệnh và chuyển đến thư mục chứa tệp build.xml.
- chạy
ant hello, hoặc đơn giảnantVì "hello" được khai báo là mục tiêu mặc định. Để sử dụng tên tệp khác, hãy chạy lệnh sau:ant -f mybuild.xml hello.
Đầu ra:
Buildfile: C:\projects\demo\build.xml
hello:
[echo] Hello, World
BUILD SUCCESSFUL
Total time: 0 seconds
Cấu trúc dự án ANT
Cấu trúc dự án ANT
Như sơ đồ cấu trúc cho thấy, mỗi công trình sẽ bao gồm ba nút:
- Dự án
- Target
- Nhiệm vụ
Dự án
Mọi thứ bên trong tệp xây dựng trong Apache ANT đều nằm trong một dự án.
Các thuộc tính:
- Tên: Tên của dự án.
- Basedir: Đây là thư mục mà từ đó tất cả các đường dẫn sẽ được tính toán. Có thể ghi đè điều này bằng cách sử dụng thuộc tính “basedir”.
- Mặc định: Giúp bạn xác định mục tiêu mặc định cho dự án này. Nếu không chỉ định mục tiêu nào, Ant sẽ thực thi mục tiêu mặc định.
Target
Mục tiêu là một tập hợp các nhiệm vụ, được xác định để đạt được một trạng thái cụ thể trong quá trình xây dựng.
Các thuộc tính:
- Tên: Tên mục tiêu (bắt buộc).
- Description: Description của mục tiêu.
- Phụ thuộc: Mục tiêu hiện tại phụ thuộc vào mục tiêu nào.
- Nếu: Chỉ thực thi mục tiêu nếu thuộc tính của mục tiêu được thiết lập giá trị.
- Trừ khi: Chỉ thực thi mục tiêu nếu giá trị thuộc tính chưa được thiết lập.
Nhiệm vụ
Một tác vụ là một đoạn mã có thể được thực thi. Các tác vụ có nhiều đối số hoặc thuộc tính.
Phương pháp chung để viết một bài tập là:
<name attribute1="value" attribute2="value2"…/>
Bạn có thể sử dụng một tác vụ có sẵn hoặc tự tạo tác vụ của riêng mình. Bảng dưới đây liệt kê các tác vụ xuất hiện trong hầu hết mọi ứng dụng. Java Tệp xây dựng.
| Nhiệm vụ | Mục đích | Các thuộc tính điển hình |
|---|---|---|
| bỏ lỡ | In thông báo ra bảng điều khiển. | tin nhắn |
| mkdir | Tạo một thư mục | dir |
| xóa | Xóa tệp hoặc thư mục | thư mục, bao gồm các thư mục trống |
| tiếng Java | Biên dịch Java tập tin nguồn | srcdir, destdir, includeantruntime |
| bình | Đóng gói các lớp vào tệp lưu trữ jar. | destfile, basedir |
| bản sao | Sao chép tập tin giữa các vị trí | tệp, thư mục |
| quân đội | Chạy thử nghiệm đơn vị | lỗi halton, tóm tắt bản in |
Ví dụ hoàn chỉnh về build.xml với nhiều tùy chọn. Targets
Một tập tin xây dựng thực tế sẽ liên kết nhiều mục tiêu với nhau. Thuộc tính `depends` đảm bảo thứ tự thực hiện, vì vậy Ant sẽ dọn dẹp thư mục đầu ra, biên dịch mã nguồn, và chỉ sau đó mới xây dựng tệp 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>
Đầu ra:
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
Kiến Apache vs Maven vs Gradle
Ba công cụ xây dựng chính chiếm ưu thế. Java Mỗi hệ sinh thái lại có quan điểm khác nhau về mức độ cấu trúc cần áp đặt.
| Tham số | Kiến Apache | Apache Maven | Gradle |
|---|---|---|---|
| Định dạng kịch bản xây dựng | XML | XML | Groovy hoặc Kotlin DSL |
| Phương pháp tiếp cận | Theo quy trình, bạn xác định từng bước. | Khai báo, ưu tiên quy ước hơn cấu hình | Khai báo với các phần mở rộng được viết bằng kịch bản |
| Quản lý sự phụ thuộc | Không phải là tính năng tích hợp sẵn, được thêm vào thông qua Apache Ivy. | Được tích hợp với kho lưu trữ trung tâm. | Được tích hợp sẵn, tương thích với Maven. |
| Cấu trúc dự án | Hoàn toàn miễn phí | Bố cục tiêu chuẩn cố định | Dựa trên quy ước nhưng có thể bị thay đổi |
| Các bản dựng tăng dần | Giới hạn do bị che khuất | Giới hạn do bị che khuất | Vâng, với bộ nhớ đệm biên dịch. |
| Đường cong học tập | Thấp đối với người dùng XML | Trung bình | Dốc hơn, yêu cầu DSL |
| Phù hợp nhất cho | Các dự án kế thừa và các công trình được tùy chỉnh cao. | Tiêu chuẩn Java dự án | Mô-đun đa dạng lớn và Android dự án |
Ant vẫn là lựa chọn thực tế khi quá trình xây dựng không tuân theo bố cục tiêu chuẩn, hoặc khi một dự án hiện có đã phụ thuộc vào các mục tiêu được viết thủ công.
Các phương pháp hay nhất khi sử dụng Apache Ant
Dưới đây là một số phương pháp tốt nhất để sử dụng Apache Ant.
- Bạn nên tự động đánh số bản dựng bằng cách sử dụng các tệp thuộc tính.
- Triển khai quy trình xây dựng có thể cấu hình với sự trợ giúp của các tệp thuộc tính mặc định và tệp thuộc tính xây dựng. Các tệp này cho phép bạn lưu trữ các thuộc tính xác định dữ liệu cho quy trình xây dựng của mình, chẳng hạn như phiên bản trình biên dịch và cài đặt tối ưu hóa.
- Bạn có thể sử dụng lại các thư viện dựng sẵn bằng cách sử dụng các tệp thuộc tính thư viện.
- Gán thuộc tính mô tả cho mỗi mục tiêu, để
ant -projecthelpLiệt kê bản tóm tắt hữu ích về quá trình xây dựng. - Hãy giữ thư mục đích làm sạch riêng biệt và tuyệt đối không xóa thư mục chứa cả các tệp nguồn.
Ưu điểm của việc sử dụng Apache Ant
Dưới đây là những lợi ích của việc sử dụng Apache Ant:
- Ant là một công cụ trung lập về nền tảng, vì vậy nó giúp bạn quản lý các thuộc tính đặc thù của nền tảng, chẳng hạn như dấu phân cách tệp.
- Ant cho phép bạn thực hiện các tác vụ dành riêng cho nền tảng, chẳng hạn như sửa đổi thời gian sửa đổi của một tệp bằng lệnh 'touch'.
- Các tập lệnh Ant được viết bằng ngôn ngữ đơn giản. XMLVì vậy, nếu bạn đã quen thuộc với XML, bạn sẽ có thể học Ant một cách nhanh chóng.
- Ant cung cấp một danh sách lớn các tác vụ được định sẵn.
- Nó cung cấp một giao diện để phát triển.ping các nhiệm vụ tùy chỉnh.
- Bạn có thể dễ dàng gọi Ant từ dòng lệnh, cho phép tích hợp với các IDE miễn phí và thương mại.
- Bạn chỉ cần một JVM, vì vậy nó có thể chạy ở bất cứ nơi nào có sẵn JVM.
- Apache Ant là một thư viện mã nguồn mở cho phép người dùng truy cập mã nguồn và tái tạo nó.
- Apache Ant là một công cụ đa nền tảng cho phép bạn xử lý... Java cấu trúc đường dẫn lớp và thư mục tệp một cách hợp lý.
- Apache Ant có thể mở rộng dễ dàng bằng cách sử dụng Java và các ngôn ngữ lập trình khác.
- Apache Ant cung cấp hỗ trợ tích hợp cho việc phát triển J2EE, chẳng hạn như biên dịch và đóng gói EJB.
- Bạn có thể sử dụng nó cho một dự án cá nhân nhỏ cũng như cho một dự án phần mềm lớn hoặc trang web.
Ant thường được kết hợp với trình chạy thử nghiệm và máy chủ tích hợp liên tục. Xem thêm JUnit cho lớp kiểm thử, Jenkins cho các bản dựng theo lịch trình, và sử dụng Apache Ant với Selenium để tự động hóa kiểm thử trình duyệt. Các báo cáo được tạo ra trong quá trình xây dựng có thể được hiển thị bằng JasperBáo cáo.













