プラットホームの問題

Unix

Microsoft Windows

Windows 9x (win95, win98, win98SE および winME) では、 長いファイル名を完全にサポートしていないため、 Ant および JDK を、空白文字を含まずファイル名が 8+3 文字ディレクトリにインストールすることを推奨します。 Perl や Python ランチャースクリプトは、この制限の影響を受けません。

マウントしたファイルシステム(Unix ドライブ, Clearcase view)が大文字小文字を区別しているにも関らず、全てのバージョンの Windows は通常大文字小文字を区別せず、 パターンセットの際に混乱します。

Explorer ウィンドウで開かれたディレクトリは、 Ant ではしばしば削除することができません。 ディレクトリを削除する前に、 エクスプローラのシェルプロセスを殺すプログラムを起動する以外は、 これについて、何もできることがありません。

Cygwin

Cygwin は実際はオペレーションシステムではありません。もっと言うと、 Cygwin はWindows上で、実行されるアプリケーションで、いくつかのUNIXのような機能をを提供します。 私の知る限り、Sunはcygwin向けの特定のJava開発環境や、Java実行環境を作っていません。 このリンクを見てください: http://www.inonit.com/cygwin/faq/。 Windowsのパス名は、Windowsやcygwin上でのJDKやJREでのみサポートされます。 "src/org/apache/tools"といった相対パスもサポートされますが、 Javaツールは、/cygdrive/c が c:\. であるとは理解しません。

ユーティリティの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}"/>

Apple MacOS X

MacOS X は、 Ant が完全にサポートした最初の Apple プラットフォームです: これは他の Unix と同様に扱われます。

Novell Netware

他のプラットホーム上の Ant の起動スクリプトと同じくらい洗練された制御ができるように、 NewWare 上でのmainのAntスタートアップは、 Perl スクリプト "runant.pl" で行うことにしました。 これは bin ディレクトリにあります。 (例えば、bootstrap\bin あるいは dist\bin)。

注意すべき重要な事柄の一つは、 Ant を実行するには次のような設定が必要だということです:

これらのパラメータを設定したant.ncfを作成し、 perl ANT_HOME/dist/bin/runant.plを呼び出すことを推奨します。

次に、そのような NCF ファイルの例を示します。 (Ant が'sys:/apache-ant/'にインストールされていると仮定します):

   envset CLASSPATH=SYS:/apache-ant/bootstrap/lib/ant.jar
   envset CLASSPATH=$CLASSPATH;SYS:/apache-ant/lib/xercesImpl.jar
   envset CLASSPATH=$CLASSPATH;SYS:/apache-ant/lib/xml-apis.jar
   envset CLASSPATH=$CLASSPATH;SYS:/apache-ant/lib/optional/junit.jar
   envset CLASSPATH=$CLASSPATH;SYS:/apache-ant/bootstrap/lib/optional.jar

   setenv ANT_OPTS=-envCWD=sys:/apache-ant
   envset ANT_OPTS=-envCWD=sys:/apache-ant
   setenv ANT_HOME=sys:/apache-ant/dist/lib
   envset ANT_HOME=sys:/apache-ant/dist/lib

   perl sys:/apache-ant/dist/bin/runant.pl

Ant は JVM 1.3 以上で動作します。 JVM 1.2 で動作させるには多少の運が必要かもしれません。 JVM 1.1.7B で Ant を動作させるには、 深刻な問題があることがわかっています。 これらの問題は、修正されていない JVM のバグに起因するものです。

JVM 1.3 は、Novell NetWare のバージョン 5.1 以上の環境でサポートされています。

他のプラットホーム

他のプラットフォームでの動作は完全には保証されません。 プラットフォームの詳細をビルドファイルから覆い隠すための 確かな方法の記述や、個々のプラットフォームでの検証がまだ必要だからです。 この部分の貢献は歓迎します。


Copyright © 2002-2004 The Apache Software Foundation. All rights Reserved.

[訳注:これは宮本信二が翻訳しました。日本語訳に対するコメントがあれば report@jajakarta.orgに送ってください]