Property

Description

説明

Sets a property (by name and value), or set of properties (from file or resource) in the project. Properties are case sensitive.

プロジェクト内のプロパティ(名前と値による)、あるいはプロパティ(ファイルまたはリソースからの)のセットを設定します。 プロパティは大文字と小文字を区別します。

Properties are immutable: whoever sets a property first freezes it for the rest of the build; they are most definately not variable.
プロパティは不変です: プロパティを最初にセットする人は残りのビルドのためにプロパティを凍結します; プロパティは明らかに可変ではありません。

There are five ways to set properties:

プロパティをセットするには、次の5つの方法があります:

Although combinations of these ways are possible, only one should be used at a time. Problems might occur with the order in which properties are set, for instance.

これらの方法を組み合わせることは可能ですが、一度に一つだけ使用されるべきです。 例えば、プロパティがセットされる順番で問題が生じるかもしれません。

The value part of the properties being set, might contain references to other properties. These references are resolved at the time these properties are set. This also holds for properties loaded from a property file.

セットされているプロパティの値の一部は、他のプロパティへの参照を含んでいるかもしれません。 これらの参照は、プロパティがセットされる時に解決されます。 これは、さらにプロパティファイルからロードされたプロパティにも適用できます。

A list of predefined properties can be found here.

あらかじめ定義されたプロパティのリストは ここで見つけることができます。

Parameters

パラメータ

Attribute Description Required
name the name of the property to set. No
value the value of the property. One of these, when using the name attribute
location Sets the property to the absolute filename of the given file. If the value of this attribute is an absolute path, it is left unchanged (with / and \ characters converted to the current platforms conventions). Otherwise it is taken as a path relative to the project's basedir and expanded.
refid Reference to an object defined elsewhere. Only yields reasonable results for references to PATH like structures or properties.
resource the resource name of the property file. One of these, when not using the name attribute
file the filename of the property file .
environment the prefix to use when retrieving environment variables. Thus if you specify environment="myenv" you will be able to access OS-specific environment variables via property names "myenv.PATH" or "myenv.TERM". Note that if you supply a property name with a final "." it will not be doubled. ie environment="myenv." will still allow access of environment variables through "myenv.PATH" and "myenv.TERM". This functionality is currently only implemented on select platforms. Feel free to send patches to increase the number of platforms this functionality is supported on ;).
Note also that properties are case sensitive, even if the environment variables on your operating system are not, e.g. it will be ${env.Path} not ${env.PATH} on Windows 2000.
classpath the classpath to use when looking up a resource. No
classpathref the classpath to use when looking up a resource, given as reference to a <path> defined elsewhere.. No
prefix Prefix to apply to properties loaded using file or resource. A "." is appended to the prefix if not specified. No
属性 説明 必須
name 設定するプロパティの名前です。 No
value プロパティの値です。 name 属性が使われている時に、これら三つのうちの一つが必須
location プロパティに指定されたファイルの絶対ファイル名を設定します。 この属性の値が絶対パスの場合には、それは変更されません ( / と \ は現在のプラットフォームの慣習に合わせて変換されます)。 そうでなければ、プロジェクトの basedir への相対パスとして解釈され、拡張されます。
refid 別の場所で定義したオブジェクトへの参照PATH 類似構造やプロパティへの参照だけが適切です。
resource プロパティファイルのリソース名です。 name 属性が使われていない時に、これら三つのうちの一つが必須
file プロパティファイルのファイル名です。
environment 環境変数を読み取るときに使うプレフィックスです。 従って、あなたが environment="myenv" と指定した場合には、 OS 固有の環境変数に "myenv.PATH" または "myenv.TERM" というプロパティ名でアクセスすることができるでしょう。 注意していただきたいのは、もしプロパティ名の最後に "." を付加した場合は、それは重複しないという事です。 例えば、 "environment=myenv." としたら、 "myenv.PATH" にも "myenv.TERM" にもアクセスすることが許されます。 この機能は、現在のところ一部のプラットフォームでのみ実装されています。 この機能がサポートされたプラットフォームを増やす為のパッチを送る事は歓迎します;)。
あなたのオペレーティング・システム上の環境変数がそうでなくても、このプロパティは大文字と小文字を区別する事に注意して下さい。例えば、 Windows 2000 上では ${env.PATH} ではなく ${env.Path} となります。
classpath リソースを見つける時に使われるクラスパスです。 No
classpathref 他の場所で定義された <path> への参照として与えられる、リソースを見つける時に使われるクラスパスです。 No
prefix file または resource を使用してロードされたプロパティに適用するための接頭辞。もし指定されなければ "." が接頭辞に追加されます。 No

Parameters specified as nested elements

ネストされた要素として指定されるパラメータ

classpath

Property's classpath attribute is a PATH like structure and can also be set via a nested classpath element.

Propertyclasspath 属性は PATH 類似構造 です。さらに、それは入れ子の classpath 要素によってセットすることができます。

Examples

  <property name="foo.dist" value="dist"/>

sets the property foo.dist to the value "dist".

プロパティ foo.dist に値 "dist" を設定します。

  <property file="foo.properties"/>

reads a set of properties from a file called "foo.properties".

"foo.properties" という名前のファイルからプロパティのセットを読み込みます。

  <property resource="foo.properties"/>

reads a set of properties from a resource called "foo.properties".

"foo.properties" という名前のリソースからプロパティのセットを読み込みます。

Note that you can reference a global properties file for all of your Ant builds using the following:

以下のようにすることで、 Ant のすべてのビルドのグローバルなプロパティファイルを参照することができることに注意してください。

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

since the "user.home" property is defined by the Java virtual machine to be your home directory. This technique is more appropriate for Unix than Windows since the notion of a home directory doesn't exist on Windows. On the JVM that I tested, the home directory on Windows is "C:\". Different JVM implementations may use other values for the home directory on Windows.

"user.home" プロパティは、あなたのホームディレクトリになるように Java 仮想マシンによって定義されています。 Windows にはホームディレクトリの概念はないので、このテクニックは Windows よりも Unix に適しています。 私がテストした JVM においては、 Windows 上のホームディレクトリは "C:\" でした。 異なる JVM の実装は、 Windows 上のホームディレクトリに対して他の値を使用するかもしれません。

  <property environment="env"/>
  <echo message="Number of Processors = ${env.NUMBER_OF_PROCESSORS}"/>
  <echo message="ANT_HOME is set to = ${env.ANT_HOME}"/>

reads the system environment variables and stores them in properties, prefixed with "env". Note that this only works on select operating systems. Two of the values are shown being echoed.

システム環境変数を読んで、プレフィックス "env" で始まるプロパティに格納します。 この機能は選ばれたオペレーティングシステムでだけ動作することに注意して下さい。 echo によって二つの値が表示されます。


Copyright © 2000-2002 Apache Software Foundation. All rights Reserved.

[訳注:これは西野 亨, 高崎 俊史が翻訳しました。日本語訳に対するコメントがあれば report@jajakarta.orgに送ってください]