プラットフォームに関する問題

Java のバージョン

Java 5

デフォルトより大きなスタックサイズが必要となる場合があります。特に、組み込みのXSLTエンジンを使用している場合に顕著です。Apache Xalanの使用を推奨します。実際、付属のXSLエンジンでは、一部のタスク(XML形式のJUnitレポートなど)が動作しない可能性があります。

Unix および Linux

Microsoft Windows

Ant 1.7以降、Windows 9x(Win95、Win98、Win98SE、WinME)はサポートされていません。

これらの製品は旧式であり、セキュリティリスクにさらされる可能性があるため、Antチームはこれらの製品のサポートを終了しました。Windows 98またはWindows MEを実行しているお客様には、できるだけ早く、より新しい安全なオペレーティングシステムにアップグレードすることをお勧めします。

Linuxにアップグレードしたお客様からは、セキュリティの向上、機能の充実、生産性の向上について報告されています。

Microsoft Windows 2000、XP、および Server 2003

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のセキュリティに関する問題の報告があり、`<signjar>`タスクがjarsigner.exeプログラムを実行するなど、Antの実行中に、ユーザーが信頼できない実行ファイルを実行するかどうかを確認するダイアログボックスが表示される場合があります。これはAntの制御範囲外であり、署名されていないネイティブ実行ファイルの実行をためらうことでセキュリティの幻想を提供しようとするOSに起因します。最新のJavaバージョンでは、署名付きバイナリを使用することでこの問題が解決されているようです。

Cygwin

Cygwinはオペレーティングシステムではなく、Windows上で動作し、一部のUNIXのような機能を提供するアプリケーションスイートです。SunはCygwin用の特定のJava Development KitまたはJava Runtime Environmentを作成していません。このリンクを参照してください:http://www.inonit.com/cygwin/faq/。WindowsまたはCygwin下では、JDKおよびJREツールによってWindowsのパス名のみがサポートされます。src/org/apache/toolsなどの相対パス名はサポートされますが、Javaツールは/cygdrive/cc:\として認識しません。

ユーティリティcygpath(Cygwinをサポートするためにantスクリプトで工業的に使用される)は、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ユーザーからのサポート問い合わせが多く寄せられています。非常に人気があるか、問題が多いかのどちらかです。Cygwinを使用する場合は、JavaはWindowsアプリケーションであるため、AntはCygwinプロセスではなくWindowsプロセスで実行されていることを忘れないでください。これにより、バグレポートを無効としてマークする必要がなくなります。

Apple MacOS X/macOS

MacOS X(別名macOS)は、Antが完全にサポートする最初のAppleプラットフォームであり、他のUnixと同様に扱われます。

その他のプラットフォーム

ビルドファイルからプラットフォームの詳細を隠すための特定の手法は、個々のプラットフォームごとに記述およびテストする必要があるため、他のプラットフォームのサポートは完全であるとは限りません。この分野への貢献は大歓迎です。