propertyタスク

<property>
属性
下位要素

ビルドファイル内で使用するプロパティを定義します。 プロパティは、Unix シェルや Windows バッチで言うところの環境変数と似たような目的で使用されますが、一度設定した値を変更することは出来ません。

定義済みのプロパティは ${property-name} 形式でタスクなどの属性値に埋め込むことが出来ます。

Ant 実行時のシステムプロパティは全てビルドファイル内からプロパティとして使用することが出来ます。 また、Ant 固有のプロパティとして以下の値が定義済みです。

basedirこのプロジェクトの基準ディレクトリ。通常 <project>basedir 属性として設定されます。
ant.fileこのビルドファイルの絶対パス。
ant.versionAnt のバージョンです。
ant.project.nameこのプロジェクトの名前。<project>name 属性として設定されます。
ant.java.versionAnt を実行している VM のバージョン。

属性

name
設定するプロパティの名前。 外部ファイルなどにより一括定義する場合には省略することが出来ます。 この属性を指定した場合は value, location, refid のいずれかの属性を指定する必要があります。 また省略した場合は resource, file, url のいずれかの属性を指定する必要があります。
デフォルト:
value
name で指定したプロパティ名に設定する値です。
デフォルト: なし
location
name で指定したプロパティ名に設定する値です。 この属性で指定した場合、値はファイル名と解釈されます。 値の '/''\' はプラットフォーム固有のファイルセパレータに変換され、相対パスと見なされる場合は basedir に基づいて絶対パスに変換されます。
デフォルト: なし
refid
指定された ID のターゲットやプロパティで定義されている値を設定します。 ターゲット指定の場合はパス構造のみが有効です。
デフォルト: なし
resource
リソースとして存在するプロパティファイルを読み込んで定義します。
デフォルト: なし
file
ファイルとして存在するプロパティファイルを読み込んで定義します。
デフォルト: なし
url
URL として指定可能なプロパティファイルを読み込んで定義します。
デフォルト: なし
environment
プラットフォームの環境変数に対して、指定されたプレフィクスでプロパティと同じようにアクセス可能にします。 例えば属性値に env を指定した場合、${env.LIB} は環境変数の LIB の値に置き換えられます (環境変数名も大文字小文字を区別する事に注意してください)。 この機能は特定のプラットフォームでのみサポートされています
デフォルト: なし
classpath
resource 属性でリソースを参照するときに適用されるクラスパスです。
デフォルト: なし
classpathref
他の場所で定義されたクラスパスを参照します。
デフォルト: なし
prefix
外部定義されたプロパティファイルを用いて一括定義する場合のプレフィクスです。
デフォルト: .

下位の要素

<classpath>
classpath 属性の代わりに使用します。

サンプル

プロパティ greetinghello, world を設定します。 下記を実行すると標準出力に対して greeting: hello, world と出力します。

<property name="greeting" value="hello, world" />
<echo message="greeting: ${greeting}" />

ホームディレクトリに存在する .ant-global.properties ファイルを読み込んでプロパティとして一括定義します。

<property file="${user.home}/.ant-global.properties" />

環境変数に対してプレフィクス env で参照可能にします (この機能をサポートするプラットフォームは限られています)。

<property environment="env" />
<echo message="Login User: ${env.USERNAME}" />