要快速使用 Ant 的二進制發行版,請按照以下步驟進行操作:
JAVA_HOME
為您的 Java 環境,ANT_HOME
為您解壓縮 Ant 的目錄,並將 ${ANT_HOME}/bin(Unix)或 %ANT_HOME%\bin(Windows)添加到您的 PATH
中。有關詳細信息,請參閱設置。ANT_HOME
目錄運行 ant -f fetch.xml -Ddest=system 以獲取大多數需要庫依賴的 Ant 任務的庫。如果不這樣做,許多相依的 Ant 任務將不可用。有關詳細信息和 -Ddest 參數的其他選項,請參閱可選任務。請注意,上面列表中的鏈接將提供有關每個步驟的更多詳細信息,如果您需要的話。或者,您可以繼續閱讀本文的其餘部分。
與 Ant 源代碼一起工作的簡短故事(如果您使用的是二進制發行版,則不需要)為:
有關完整的故事,請繼續閱讀。
Ant 的最新穩定版本可從 Ant 網頁https://ant.dev.org.tw/獲取
Ant 的二進制發行版有 3 種不同的存檔
選擇最適合您平台的格式。
請參考下面的jpackage部分。
所有主要的Java IDE都會隨著Ant一起提供,例如Eclipse、NetBeans和IntelliJ IDEA。如果您通過這種方式安裝Ant,通常會得到IDE發布時的最新版本的Ant。一些IDE(特別是Eclipse和NetBeans)隨附有額外的任務,這些任務僅在Ant的路徑上存在特定於IDE的工具時才起作用。要在命令行版本的Ant上使用這些功能,需要將相關的JAR添加到命令行Ant作為額外的庫/任務。請注意,如果存在IDE任務或擴展未正常工作的情況,Ant團隊將無法處理錯誤報告。請優先使用IDE郵件列表,如果適當的話,他們將交叉提交錯誤報告。
IDE通常可以指向不同的Ant安裝。這使開發人員可以升級到新版本的Ant,並消除命令行和IDE Ant之間的不一致性。
許多Java應用程式,尤其是應用程式伺服器,都會隨附一個版本的Ant。這些主要用於應用程式內部使用,使用Java API將任務委派給Ant運行時,例如JSP頁面編譯。這些發行版通常由所有人不支持。尤其棘手的是那些不僅隨其自己的Ant版本提供的產品,而且還將其自己的ANT.BAT或ant.sh添加到PATH
中。如果安裝某些東西後Ant的行為變得奇怪,請嘗試診斷建議。
如果您更喜歡源代碼發行版,可以從https://ant.dev.org.tw/srcdownload.cgi下載最新版本的Ant源代碼。
如果您更喜歡前沿代碼,可以通過Git訪問正在開發的代碼。Ant網站提供了訪問Git的詳細信息。所有錯誤修復都將針對源樹的HEAD進行,對於許多錯誤報告的第一個回應將是“您是否嘗試了最新版本”。請不要害怕下載和構建預發行版,因為除了新功能之外的一切通常都是穩定的。
有關如何從源代碼構建Ant的部分,請參見構建Ant。您還可以在線訪問Ant Git存儲庫。
較舊版本的Ant可以在存檔中找到,網址為https://archive.apache.org/dist/ant/。文件的組織如下。
檔案名稱或路徑 | 描述 |
---|---|
金鑰 | PGP 金鑰檔案。它包含 Ant 開發人員的 PGP 金鑰,因此您可以“信任”此發行版。 |
RELEASE-NOTES-{version}.html | 以 HTML 格式提供的指定版本的發行說明。當升級您的 Ant 安裝時,您應該查看可能破壞舊環境的變更部分。 |
ant-current-bin.zip | ZIP 檔案,包含最近發行版本的 Ant 的編譯版本。建議您不要通過此方式下載最新版本,因為上述所描述的標準方式將將您重定向到距離您更近的鏡像,從而使您的下載速度更快,並減輕 Apache 伺服器的負擔。 |
ant-current-src.zip | ZIP 檔案,包含 Ant 的源代碼。如果您有此文件,則可以編譯 Ant。如果您沒有必要的依賴項,則不會構建依賴於它們的類。同樣,建議使用上述描述的標準方式來獲取源代碼包,以加快下載速度並減輕 Apache 伺服器的負擔。 |
ant-current-*.asc | 用於檢查 zip 檔案正確性的安全文件。這個是PGP 簽名。 |
ant-current-*.md5 | 用於檢查 zip 檔案正確性的安全文件。這個是MD5 校驗和。 |
ant-current-*.sha1 | 用於檢查 zip 檔案正確性的安全文件。這個是SHA1 校驗和。 |
ant-current-*.sha512 | 用於檢查 zip 檔案正確性的安全文件。這個是SHA512 校驗和。 |
antlibs/ | 此目錄包含 Apache Ant 專案提供的 Antlibs。Antlibs 是 Ant 任務的捆綁,它們不作為 Ant 核心的一部分提供,但作為可選下載提供。 |
binaries/ | 二進制目錄包含特定的 Ant 版本,以 ZIP 和 tar.gz 壓縮格式打包。這些命名的發行版與父目錄中的 ant-current-bin.zip 文件形成對比,該文件始終保證是最新版本的 Ant。 |
common/ | common 目錄包含各種文件,例如 Apache 授權檔案,Ant 在其中許可使用,人們可能希望在不必下載整個 Ant 分發版的情況下檢查這些文件。 |
source/ | source 目錄包含特定 Ant 版本的源代碼,以 ZIP 和 tar.gz 壓縮格式打包。這些命名的發行版與父目錄中的 ant-current-src.zip 文件形成對比,該文件始終保證是最新版本的 Ant 源代碼。 |
Ant 在許多平台上都成功使用,包括 Linux、商業化的 Unix 變種,如 Solaris 和 HP-UX、macOS、Windows NT 衍生版本、OS/2 Warp、Novell Netware 6、OpenVMS。開發中最常用的平台包括 Linux、macOS、Microsoft Windows 和 Unix;因此,這些平台通常是最佳的工作平台。自從 Ant 1.7 版以來,不再支援 Windows 9x。
對於當前版本的 Ant(1.10),您還需要在系統上安裝 JDK,要求版本為 8 或更高版本。Java 的版本越新,可用的 Ant 任務就越多。
注意:如果沒有安裝 JDK,只有運行時(JRE),則許多任務將無法運作。
注意:Ant 1.10.* 與 JDK 8 及更高版本兼容,Ant 1.9.* 與 JDK 1.5 及更高版本兼容,Ant 1.8.* 與 JDK 1.4 及更高版本兼容,Ant 1.7.* 與 JDK 1.3 及更高版本兼容,Ant 1.6.* 與 JDK 1.2 及更高版本兼容,Ant 1.2 到 Ant 1.5.* 與 JDK 1.1 及更高版本兼容。
Ant 團隊強烈支持使用者在 OpenJDK 和其他開源 Java 執行時上運行 Ant,因此致力於開發能在這些平台上良好運行的產品。
Ant 的二進制分發版包含以下目錄佈局
ant +--- README, LICENSE, fetch.xml, other text files. //basic information +--- bin // contains launcher scripts | +--- lib // contains Ant JARs plus necessary dependencies | +--- manual // Ant documentation (a must read ;-) | +--- etc // contains xsl goodies to: // - create an enhanced report from xml output of various tasks. // - migrate your build files and get rid of 'deprecated' warning // - ... and more ;-)
僅需 bin 和 lib 目錄即可運行 Ant。
要安裝 Ant,請選擇一個目錄並將分發文件複製到該目錄。該目錄將被稱為 ANT_HOME
。
請注意,目前的 Ant 發行版不再支援這些系統。然而,如果您使用的是較舊的 Ant 版本,則啟動 Ant 的腳本如果 ANT_HOME
是長文件名(即非 "8.3" 格式的文件名)將會出現問題。這是由於作業系統處理 "for"
批次文件語句時的限制所致。因此建議將 Ant 安裝在短的、8.3 格式的路徑中,例如 C:\Ant。
在這些系統上,您還需要配置更多的環境空間以滿足 Ant 啟動腳本中使用的環境變量。為此,您需要在 config.sys 文件中添加或更新以下行
shell=c:\command.com c:\ /p /e:32768
在運行 Ant 之前,除非您正在安裝來自 jpackage.org 的 RPM 版本,否則您需要做一些額外的設置
ANT_HOME
環境變量設置為安裝 Ant 的目錄。在某些操作系統上,Ant 的啟動腳本可以猜測 ANT_HOME
(Unix 方言和 Windows NT 衍生版),但最好不要依賴此行為。JAVA_HOME
環境變量(請參見下面的 高級 部分)。這應該設置為安裝 JDK 的目錄。從命令行執行此操作的特定於操作系統的說明位於 Windows、Linux/Unix (bash) 和 Linux/Unix (csh) 部分。請注意,使用此方法,這些設置只在您運行它們的命令行會話中有效。
注意:不要將 Ant 的 ant.jar 文件安裝到 JDK/JRE 的 lib/ext 目錄中。Ant 是一個應用程序,而擴展目錄是用於 JDK 擴展的。特別是對可以由擴展加載的類有安全限制。
ant.bat 腳本使用了三個環境變量 — ANT_HOME
、CLASSPATH
和 JAVA_HOME
。請確保 ANT_HOME
和 JAVA_HOME
變量已設置,並且它們沒有引號(' 或 ")並且它們不以 \ 或 / 結尾。 CLASSPATH
應該未設置或為空。
您可以通過打開一個新的 shell 並輸入 ant 來檢查基本安裝情況。您應該會收到類似於以下的消息
Buildfile: build.xml does not exist! Build failed
因此 Ant 可以工作。這條消息存在是因為您需要為您的項目編寫一個構建文件。使用 ant -version 應該會得到以下輸出
Apache Ant(TM) version 1.9.2 compiled on July 8 2013
如果這個方法不起作用,請確保您的環境變數設置正確。例如,在Windows上,它們必須解析為
%ANT_HOME%\bin\ant.bat
%JAVA_HOME%\bin\java.exe
%PATH%=...可能的其他條目...;%ANT_HOME%\bin;...可能的其他條目...
ANT_HOME
被啟動腳本用於尋找庫。 JAVA_HOME
被啟動腳本用於查找要使用的JDK/JRE。(建議使用JDK,因為某些任務需要Java工具。)如果未設置,啟動器將通過%PATH%
環境變數來查找一個。 PATH
設置為用戶方便。設置後,您只需啟動ant,而不必總是輸入ant安裝/bin/ant的完整路徑。
Ant支持許多可選任務。可選任務通常需要外部庫才能正常運作。這些可選任務與核心Ant任務一起打包。
每個可選任務所需的外部庫的詳細信息在庫依賴性部分中列出。這些外部庫必須添加到Ant的類路徑中,可以使用以下任何一種方式
在ANT_HOME/lib
中。這使得JAR文件對所有Ant用戶和構建都可用。
在${user.home}/.ant/lib
(自Ant 1.6起)。這允許不同的用戶向Ant添加新的庫。添加到此目錄的所有JAR文件都對命令行Ant可用。
通過命令行使用-lib參數。這使您可以按需添加新的JAR文件。
在CLASSPATH
環境變數中。盡量避免這樣做;這會使JAR文件對所有Java應用程序可見,並導致無盡的支援呼叫。詳情請參閱下面的內容。
在某些由任務自身接受的<classpath>
中。自Ant 1.7.0起,您可以運行<junit>
任務,而不必將junit.jar包含在Ant自己的類路徑中,只要在運行任務時傳遞的類路徑中包含它(以及您的程序和測試)即可。
在可能的情況下,通常應優先考慮此選項,因為Ant腳本本身可以確定從何處加載庫的最佳路徑:通過相對於basedir的路徑(如果您將庫與您的項目一起使用版本控制),根據Ant屬性、環境變數、Ivy下載,任何您喜歡的方式。
如果您使用 Ant 的二進制發行版,或者如果您是從源代碼進行工作,您可以輕鬆收集大多數依賴項並將它們安裝供 Ant 任務使用。在您的 ANT_HOME
目錄中,您應該會看到一個名為 fetch.xml 的文件。這是一個 Ant 腳本,您可以運行它來安裝幾乎所有可選的 Ant 任務所需的依賴項。
要這樣做,請轉到 ANT_HOME
目錄並執行以下命令
ant -f fetch.xml -Ddest=[option]
其中選項是以下之一,如上所述
system
—存儲在 Ant 的 lib 目錄中(推薦)user
—存儲在用戶的主目錄中optional
—存儲在 Ant 的源代碼 lib/optional 目錄中,在構建 Ant 源代碼時使用您可能還需要設置代理設置。有關詳細信息,請參閱 代理設置 部分。
請注意,並非所有依賴項都是使用 fetch.xml 收集的。特別是依賴於商業軟件的任務將要求您安裝商業軟件才能使用。
Apache Ant 項目還提供了作為單獨下載的 Ant 庫的其他任務和類型。您可以在 Ant 庫 頁面上查看可用的 Antlibs 列表。
您還可以在 外部工具和任務 頁面上找到由第三方項目提供的任務和類型。
IDE 有不同的方法來添加外部 JAR 文件和第三方任務到 Ant。通常是通過某個配置對話框完成的。有時將 JAR 文件添加到項目中會自動添加到 Ant 的類路徑中。
CLASSPATH
環境變量
CLASSPATH
環境變量是許多 Ant 支持查詢的來源。由於在 Ant 使用者郵件列表上的往返時間可能很慢,並且因為提交關於 'ant.bat' 不工作的 bug 報告將被開發人員拒絕為 WORKSFORME "這是一個配置問題,而不是一個 bug",因此您可以通過遵循一些簡單的步驟來節省大量的時間和挫折。
CLASSPATH
。Ant 不需要它,這只會引起混亂並破壞事情。CLASSPATH
中加上引號,即使目錄中有空格。這會破壞 Ant,並且不需要。CLASSPATH
中加上尾隨反斜線,因為這會破壞 Ant 引用字符串的能力。再次強調,即使要將 DOS 目錄添加到路徑中,也不需要這樣做以確保 CLASSPATH
環境變量的正確運作。CLASSPATH
環境變量。這是測試與 classpath 相關問題的一種簡單方法。
CLASSPATH
問題的常見症狀是 Ant 無法運行,出現一些關於找不到 org.apache.tools.ant.launch.Launcher
的錯誤,或者如果引號/反斜線錯誤,則出現一些非常奇怪的 Java 啟動錯誤。為了查看是否存在此問題,請運行 ant -noclasspath 或取消設置 CLASSPATH
環境變量。
您還可以通過將以下內容放在腳本的頂部(或 init 目標中)使您的 Ant 腳本拒絕該環境變量
<property environment="env."/> <property name="env.CLASSPATH" value=""/> <fail message="Unset $CLASSPATH / %CLASSPATH% before running Ant!"> <condition> <not> <equals arg1="${env.CLASSPATH}" arg2=""/> </not> </condition> </fail>
許多 Ant 內置和第三方任務使用網絡連接從 HTTP 服務器檢索文件。如果您身處具有代理服務器的防火牆後面,則需要將 Ant 配置為使用該代理。這裡有不同的方法可以做到這一點。
當您在 Java 5 或更高版本上運行 Ant 時,可以嘗試使用 -autoproxy 自動代理設置機制。
這些在 Java 的網絡屬性 中有所記錄,並控制整個 JVM 的代理行為。要在 Ant 中設置它們,請在 ANT_OPTS
環境變量中聲明它們。這是非移動系統的最佳選擇。對於筆記本電腦,您必須在漫遊時更改這些設置。要設置 ANT_OPTS
對於 csh/tcsh
setenv ANT_OPTS "-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"對於 bash
export ANT_OPTS="-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"對於 Windows,在適當的對話框中設置環境變量,然後打開新的控制台,或者手動設置
set ANT_OPTS = -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080
如果您正在編寫一個始終在防火牆後面使用的構建文件,setproxy 任務允許您配置代理(它通過設置 JVM 屬性來執行此操作)。如果這樣做,我們強烈建議使用 Ant 屬性定義代理主機、端口等,以便個人可以覆蓋默認值。
Ant 團隊承認這是不滿意的。在 JVM 自動代理設置在所有地方正常工作之前,通過 ANT_ARGS
的顯式 JVM 選項可能是最佳解決方案。在 Ant 的命令行上設置屬性不起作用,因為那些是設置的 Ant 屬性,而不是 JVM 選項。這意味著以下內容不會設置命令行
ant -Dhttp.proxyHost=proxy -Dhttp.proxyPort=81
它只是設置了兩個 Ant 屬性。
代理伺服器的另一個麻煩點是在驗證代理伺服器時。Ant 不能超越 JVM 在這方面的功能,由於遠程診斷、測試和修復與代理相關的問題非常困難,使用者在安全代理伺服器後面工作時將不得不花費大量時間配置 JVM 屬性,直到他們滿意。
假設 Ant 安裝在 c:\ant\。以下設置環境
set ANT_HOME=c:\ant set JAVA_HOME=c:\jdk11.0.8_10 set PATH=%PATH%;%ANT_HOME%\bin
假設 Ant 安裝在 /usr/local/ant。以下設置環境
export ANT_HOME=/usr/local/ant export JAVA_HOME=/usr/local/jdk-11.0.8+10 export PATH=${PATH}:${ANT_HOME}/bin
setenv ANT_HOME /usr/local/ant setenv JAVA_HOME=/usr/local/jdk-11.0.8+10 set path=( $path $ANT_HOME/bin )
設置符號連結指向 JVM/JDK 版本使得更新更無縫。
JPackage 項目 分發了 Ant 的 RPM 版本。使用這個版本,不需要設置 JAVA_HOME
或 ANT_HOME
環境變數,RPM 安裝程式將正確地將 ant 可執行文件放置在您的路徑上。
注意: 自 Ant 1.7.0 開始,如果設置了 ANT_HOME
環境變數,將忽略 JPackage 發行版。
對於 JPackage 版本的可選 JAR 文件,有兩種方式處理。最簡單、最好的方法是從 JPackage 獲取這些外部庫,如果 JPackage 有的話。(注意:對於每個這樣的庫,您將不得不獲取外部包本身(例如 oro-2.0.8-2jpp.noarch.rpm)以及將 Ant 和外部包連接起來的小庫(例如 ant-apache-oro-1.6.2-3jpp.noarch.rpm)。
然而,JPackage 不打包專有軟件,由於一些可選套件依賴於專有 JAR 文件,因此必須按照以下方式處理。這可能違反 JPackage 的精神,但如果您需要這些專有套件,則是必要的。例如,假設您想要安裝 NetRexx 的支持,而 JPackage 不支持
$ANT_HOME/lib
中,對於 JPackage 來說通常是 /usr/share/ant/lib。另一個不那麼混亂的選擇是在您的家目錄下創建一個 .ant/lib 子目錄,並將您的非 JPackage Ant JAR 文件放在那裡,從而避免在同一文件夾中將 JPackage 库與非 JPackage 東西混合在一起。有關 Ant 如何找到其庫的更多信息,請參閱此處有許多不同的方式來執行 Ant。您至少需要以下內容:
JAVA_HOME
環境變數,Ant 附帶的腳本(位於 bin 目錄中)將自動添加所需的 JDK 類別。ant.home
設置為包含您安裝 Ant 的目錄。同樣,這由 Ant 腳本設置為 ANT_HOME
環境變數的值。ANT_OPTS
的環境變數,可用於提供額外的選項給 Ant。一些腳本還會讀取存儲在使用者家目錄中的額外腳本,該腳本可用於設置此類選項。請查看您平台的調用腳本的源代碼以瞭解詳細信息。
要從源代碼構建 Ant,您可以安裝 Ant 源代碼發行版,或者從 Git 克隆 Ant 存儲庫。有關詳細信息,請參見源發行版。
安裝源代碼後,切換到安裝目錄。
將 JAVA_HOME
環境變數設置為安裝了 JDK 的目錄。有關如何在您的操作系統上執行此操作的示例,請參見安裝 Ant。
注意:Ant 的引導過程需要像 OpenJDK 或 Oracle 的 javac 這樣的貪婪編譯器。它無法與 gcj 或 kjc 一起使用。
確保您已下載了構建您感興趣的任務所需的任何輔助 JAR 檔。這些應該添加到源樹的 lib/optional 目錄中。有關各種功能所需的 JAR 要求的列表,請參閱 庫依賴。請注意,這將僅使輔助 JAR 對 Ant 的構建可用。對於運行 Ant,您仍然需要按照 安裝 Ant 中描述的方法使 JAR 檔可用。
您還可以通過在 fetch.xml 構建文件上運行 Ant 來獲取大多數輔助 JAR 檔案(即各種可選 Ant 任務所依賴的 JAR 檔案)。有關如何執行此操作的說明,請參閱 可選任務。
自 Ant 1.7.0 起,Ant 對 JUnit 有一個硬性依賴。 fetch.xml 構建腳本將自動下載 JUnit,但如果您不使用此功能,則必須將其手動安裝到 lib/optional 中(從 JUnit.org 下載),如果您正在使用 Ant 的源發行版。
您現在已準備好構建 Ant 了
強烈建議您將傳遞給 dist.dir 的目錄路徑在以下命令中指向一個空目錄build -Ddist.dir=<包含 Ant 分發的目錄> dist (Windows)
sh build.sh -Ddist.dir=<包含 Ant 分發的目錄> dist (Unix)
這將在您指定的目錄中創建 Ant 的二進制分發。
上述操作執行以下操作
dist目標。
在大多數情況下,您不需要明確引導 Ant,因為建置腳本會替您完成。但是,如果您所使用的建置檔案使用了尚未編譯到引導式 Ant 中的功能,您將需要手動引導。執行 bootstrap.bat(Windows)或 bootstrap.sh(UNIX)以建立 Ant 的新引導版本。
如果您希望將建置安裝到當前的ANT_HOME
目錄中,您可以使用
如果需要的話,您可以避免冗長的 Javadoc 步驟,方法如下build install (Windows)
sh build.sh install (Unix)
這將僅安裝 bin 和 lib 目錄。build install-lite (Windows)
sh build.sh install-lite (Unix)
install 和 install-lite 兩個目標都將覆蓋 ANT_HOME
中當前的 Ant 版本。
Ant 的建置腳本將嘗試為 Unix(-like) 系統上的 shell 腳本設置可執行權限。有各種原因可能導致 chmod 任務失敗(例如,當您以不同於最初安裝 Ant 的使用者身份運行建置腳本時)。在這種情況下,您可以在啟動建置時將 Ant 屬性 chmod.fail
設置為 false,如下所示:
sh build.sh install -Dchmod.fail=false
這樣任何更改權限的錯誤都不會導致建置失敗。
如果您使用所示功能,則需要將以下程式庫添加到 Ant 的類路徑中。請注意,與 mappers 一起使用時只需要一個 regexp 程式庫(且 Java 包含了 Ant 將自動找到的 regexp 實現)。您還需要安裝特定的 Ant 選用 JAR,其中包含任務定義,以使這些任務可用。請參閱上面的 安裝 Ant / 選用任務 部分。
JAR 名稱 | 所需用途 | 可用位置 |
---|---|---|
jakarta-regexp-1.4.jar | regexp 型別與映射器(如果您不想使用 java.util.regex ) |
https://attic.apache.org/projects/jakarta-regexp.html |
jakarta-oro-2.0.8.jar | regexp 型別與映射器(如果您不想使用 java.util.regex ),或使用 ftp 任務並搭配 commons-net 1.4.1 |
https://attic.apache.org/projects/jakarta-oro.html |
junit.jar | junit 任務(可能在傳遞給任務的類路徑中而非 Ant 的類路徑中) | https://junit.dev.org.tw/ |
xalan.jar | junitreport 任務 | https://xml.apache.org/xalan-j/ |
antlr.jar | antlr 任務 | https://www.antlr.org/ |
bsf.jar | script 任務 注意:Ant 1.6 及更新版本需要 Apache BSF 2.3.0 或更新版本。 注意:使用 1.5R4 或更新版本的 Rhino JavaScript 需要 BSF 2.4.0。 注意:BSF 2.4.0 使用 Commons Logging,因此需要 commons-logging.jar。 |
https://commons.apache.org/bsf/ |
Groovy JAR 檔 | Groovy Ant 任務與綁定,或者使用 script 和 scriptdef 任務的 Groovy | https://groovy.dev.org.tw/ 使用 groovy-ant 進行 Groovy Ant 任務與綁定,或使用 groovy-bsf 進行 script 和 scriptdef 任務的 Groovy(或 groovy-all) |
netrexx.jar | netrexxc 任務,Rexx 使用 script 任務 | https://www.ibm.com/software/awdtools/netrexx/library.html |
rhino.jar (包含在 Java 7 運行時中,被 Java 8 及更高版本中的 Nashorn 取代,並在 Java 15 中停用) |
使用 script 任務的 JavaScript 注意:Apache BSF 2.4.0 僅與 Rhino 1.5R4 和更新版本兼容。 |
https://www.mozilla.org/rhino/ |
graalvm js.jar 和 js-scriptengine.jar |
Java 15 後使用 script 任務的 JavaScript |
Java 15 已停用 Nashorn,GraalVM JavaScript 預計取代它 - 不在 Java 類庫之內。 注意:GraalVM JavaScript 並非 Nashorn 的即插即用替代方案,詳細資訊請參閱 script 任務文件。此外,GraalVM JavaScript 需要更多的依賴項,特別是 GraalVM regex、truffle、GraalVM SDK 和 ICU。 |
jython.jar | 使用 script 任務的 Python | https://www.jython.org/ |
jacl.jar 和 tcljava.jar | 使用 script 任務的 TCL | http://tcljava.sourceforge.net/ |
jtcl.jar | 使用 script 任務的 TCL | https://jtcl-project.github.io/jtcl/ |
BeanShell JAR(s) | 使用 script 任務的 BeanShell。 注意:Ant 需要 BeanShell 版本 1.3 或更高版本 |
http://www.beanshell.org/ |
jruby.jar | 使用 script 任務的 Ruby | https://jruby.org/ |
judo.jar | 使用 script 任務的 Judo 語言 | 曾經位於 http://www.judoscript.org/,目前已不再提供。 |
commons-logging.jar | CommonsLoggingListener | https://commons.apache.org/logging/ |
log4j.jar | Log4jListener | https://logging.apache.org/log4j/ |
commons-net.jar | ftp、rexec 和 telnet 任務 編譯 Ant 需要 commons-net 的最低版本為 1.4.0,較早的版本不支援完整的配置選項範圍。 運行時需要 jakarta-oro 2.0.8 和 commons-net 1.4.x。 注意:因性能問題,請勿使用 commons-net 3.2 |
https://commons.apache.org/net/ |
bcel.jar | classfileset 資料類型,JavaClassHelper 由 ClassConstants 篩選器讀取器使用,並且選擇性地被 ejbjar 任務用於依賴關係確定 | https://commons.apache.org/bcel/ |
jakarta.mail.jar | mail 任務和 不推薦使用 mimemail 任務 | https://eclipse-ee4j.github.io/mail/ |
activation.jar
|
郵件任務,使用MIME編碼,以及已棄用的mimemail任務 | https://github.com/eclipse-ee4j/jaf |
jdepend.jar | jdepend任務 | https://github.com/clarkware/jdepend |
resolver.jar 1.1或更新版本 | xmlcatalog數據類型,僅當需要支援外部目錄文件時 | https://xerces.apache.org/xml-commons/components/resolver/ |
jsch.jar 0.1.55或更新版本 | sshexec和scp任務 | http://www.jcraft.com/jsch/ |
JAI—Java Advanced Imaging | image任務 | https://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html |
jai-imageio-core.jar | imageio任務,用於Java 8的TIFF支援,以及PCX、PNM、RAW支援 | https://github.com/jai-imageio/jai-imageio-core/releases |
XZ—XZ for Java 1.6或更新版本 | xz和unxz任務,xzresource,在tar/untar任務中的xz壓縮 | https://www.tukaani.org/xz/java.html |
JUnit 5平台jar包
|
junitlauncher任務。根據所選的測試引擎,可能需要其他庫,詳細信息請參閱該任務的文檔 | https://junit.dev.org.tw/junit5/ |
Ant具有內建的診斷功能。如果執行ant -diagnostics,Ant將查看其內部狀態並將其打印出來。此代碼將檢查並打印以下信息。
ANT_HOME/lib
的JAR文件運行ant -diagnostics是檢查Ant是否已安裝的好方法。這也是自我診斷任何問題的第一步。向用戶郵件列表報告的任何配置問題可能會導致有人要求您運行該命令並顯示結果,因此自己使用它可以節省時間。
在IDE中進行診斷時,請使用診斷任務來運行與 Ant 選項相同的測試。這可以添加到建置檔案中的診斷目標,以查看在 IDE 下可用的任務,XML 解析器和類別路徑等。
如果您無法安裝或使用 Ant,Ant 用戶郵件列表是解決任何問題的最佳起點。請先做好功課,確保這不是一個CLASSPATH
問題,並運行診斷檢查來查看 Ant 對其自身狀態的看法。為什麼是用戶列表而不是開發者列表?因為用戶比開發者多,所以有更多人可以幫助您。
請僅在確實存在與配置相關的可修復 Bug(例如在特定平台上無法運行、與特定的 JVM 版本不兼容等)或者在用戶郵件列表中得到建議後,才對 Ant 提交關於配置/啟動問題的錯誤報告。