平台問題

Java 版本

Java 5

您可能需要比預設更大的堆疊,特別是如果您正在使用內建的 XSLT 引擎。我們建議您使用 Apache Xalan;事實上,某些任務(例如 XML 中的 JUnit 報告)可能無法針對運送的 XSL 引擎執行。

Unix 和 Linux

Microsoft Windows

自 Ant 1.7 起,不再支援 Windows 9x(win95、win98、win98SE 和 winME)。

Ant 團隊已停止支援這些產品,因為它們已過時且可能會使客戶面臨安全風險。我們建議仍在執行 Windows 98 或 Windows ME 的客戶盡快升級到更新、更安全的作業系統。

升級到 Linux 的客戶回報安全性得到改善、功能更豐富,以及生產力提高。

Microsoft Windows 2K、XP 和 Server 2K03

Windows 9x(win95、win98、win98SE 和 winME)具有批次檔案系統,無法完全與長檔名配合使用,因此我們建議將 Ant 和 JDK 安裝到沒有空格且使用 8.3 檔名的目錄中。Perl 和 Python 啟動器指令碼不受此限制。

所有版本的 Windows 通常不區分大小寫,儘管掛載的檔案系統(Unix 磁碟機、ClearCase 檢視)在底層可能區分大小寫,這會混淆模式集。

Ant 通常無法刪除在檔案總管視窗中開啟的目錄。除了在刪除目錄前產生一個程式來終止殼層外,我們無法解決這個問題。正在使用的檔案也不能被覆寫。

最後,如果任何 Ant 任務失敗並顯示 error=2,這表示 Ant 嘗試執行的任何原生程式都不在 Path 中。

Microsoft Windows Vista

有報告指出 Windows Vista 安全性在 Ant 執行期間會出現問題,例如當 <signjar> 任務執行 jarsigner.exe 程式時,會出現對話方塊詢問使用者是否要執行不受信任的可執行檔。這是 Ant 無法控制的,而且是因為作業系統試圖提供一些安全性幻覺,而不願意執行未簽署的原生可執行檔所導致的。最新的 Java 版本似乎已透過簽署二進位檔來解決這個問題。

Cygwin

Cygwin 不是作業系統;它比較像是在 Windows 下執行的應用程式套件,而且提供一些類 UNIX 的功能。Sun 尚未為 Cygwin 建立任何特定的 Java 開發套件或 Java 執行環境。請參閱此連結:http://www.inonit.com/cygwin/faq/。在 Windows 或 Cygwin 下,JDK 和 JRE 工具僅支援 Windows 路徑名稱。支援相對路徑名稱,例如 src/org/apache/tools,但 Java 工具無法理解 /cygdrive/c 的意思為 c:\

公用程式 cygpath(在 ant 指令碼中用於支援 Cygwin)可以將 Cygwin 路徑名稱轉換為 Windows。您可以使用 Ant 中的 <exec> 任務將 Cygwin 路徑轉換為 Windows 路徑,例如像這樣

<property name="some.cygwin.path" value="/cygdrive/h/somepath"/>
<exec executable="cygpath" outputproperty="windows.pathname">
   <arg value="--windows"/>
   <arg value="${some.cygwin.path}"/>
</exec>
<echo message="${windows.pathname}"/>

我們收到許多來自 Cygwin 使用者的支援電話。它不是非常受歡迎,就是有問題。如果您使用它,請記住 Java 是 Windows 應用程式,因此 Ant 是在 Windows 程序中執行,而不是在 Cygwin 中執行。這將使我們不必將您的錯誤報告標記為無效。

Apple MacOS X/macOS

MacOS X 也稱為 macOS 是 Ant 完全支援的第一個 Apple 平台;它被視為任何其他 Unix。

其他平台

無法保證支援其他平台,因為需要在每個特定平台上撰寫和測試某些技術才能隱藏建置檔案的平台詳細資料。歡迎提供這方面的貢獻。