基於 Java 的構建工具,用 XML (build.xml) 定義構建目標與依賴,類似 Make 但跨平台、擴展性強。雖已被 Maven/Gradle 取代主流地位,但維護老專案、理解構建本質仍有價值。
apache-ant-1.10.x-bin.zip 解壓至 D:\tools\antANT_HOME=D:\tools\antJAVA_HOME=D:\tools\jdk1.8 (必須先配置)Path=%Path%;%ANT_HOME%\binant -version 輸出版本號即成功
my-project/
├── src/ # 源碼
│ └── com/demo/Hello.java
├── build.xml # Ant 腳本 (根目錄)
├── build/ # 編譯輸出 (自動生成)
│ └── classes/
└── dist/ # 打包輸出 (自動生成)
└── project.jar
| 概念 | 說明 |
|---|---|
| Project | 構建項目根節點,default 指定默認目標,basedir 基準目錄 |
| Target | 構建階段單元,如 compile、jar,有 depends 依賴鏈 |
| Task | 具體操作單元,如 mkdir、javac、jar、copy、delete |
| Property | 不可變鍵值對,${key} 引用,支援環境變量、文件導入 |
D:\my-project> ant
Buildfile: D:\my-project\build.xml
init:
[mkdir] Created dir: D:\my-project\build\classes
[mkdir] Created dir: D:\my-project\dist
compile:
[javac] Compiling 1 source file to D:\my-project\build\classes
jar:
[jar] Building jar: D:\my-project\dist\MyProject.jar
BUILD SUCCESSFUL
Total time: 2 seconds
<copy> 複製資源文件到 classes<javadoc> 生成 API 文檔<junit> 執行單元測試並生成報告<zip>/<tar> 打包發布<ftp>/<scp> 部署遠程<condition>/<if> (ant-contrib) 條件構建新專案直接用 Maven 或 Gradle:依賴管理、約定優於配置、多模組、IDE 深度整合、CI/CD 原生支援。Ant 適用於:極簡專案、無依賴管理需求、嵌入式構建邏輯、老專案維護。