Sets a property if a resource is available at runtime. This resource can be a file, a directory, a class in the classpath, or a JVM system resource.

実行時に、あるリソースが利用可能であればプロパティを設定します。 このリソースは、ファイル、ディレクトリ、クラスパス中のクラス、 JVM のシステムリソースなどです。

If the resource is present, the property value is set to true by default; otherwise, the property is not set. You can set the value to something other than the default by specifying the value attribute.

リソースが存在する場合、 デフォルトでプロパティの値に true が設定されます; そうでない場合、そのプロパティは設定されません。 value 属性で指定することにより、 デフォルト以外の何かの値を設定することができます

Normally, this task is used to set properties that are useful to avoid target execution depending on system parameters.




Attribute Description Required
property The name of the property to set. Yes
value The value to set the property to. Defaults to "true". No
classname The class to look for in the classpath. Yes
file The file to look for.
resource The resource to look for in the JVM.
classpath The classpath to use when looking up classname or resource. No
filepath The path to use when looking up file. No
classpathref The classpath to use, given as a reference to a path defined elsewhere. No
type The type of file to look for, either a directory (type="dir") or a file (type="file"). If not set, the property will be set if the name specified in the file attribute exists as either a file or a directory. No
ignoresystemclasses Ignore Ant's runtime classes, using only the specified classpath. Only affects the "classname" attribute. Defaults to "false" No
属性 説明 必須
property 設定するプロパティ名 Yes
value プロパティに設定する値、 デフォルトは"true" No
classname クラスパス中で存在確認するクラス Yes
file 存在確認するファイル
resource JVM 中で存在確認するリソース
classpath classnameresourceを探す時に使われるクラスパス No
filepath fileを探す時に使われるファイルパス No
classpathref 他の場所で定義されたパスへの参照を与えられた時、 使用されるクラスパス No
type 探すfileの種類。 ディレクトリ(type="dir")あるいは、 ファイル(type="file")のいずれか。 設定されていないばあい、 ファイルであっても、ディレクトリであっても、 file属性中に指定された名前が存在する場合、 このプロパティは設定されます。 No
ignoresystemclasses Ant ランタイムクラスを無視し、 指定されたクラスパスのみを使います。 "classname" 属性にのみ影響します。 デフォルトは "false" です。 No

Parameters specified as nested elements



Available's classpath attribute is a path-like structure and can also be set via a nested <classpath> element.

availableclasspath属性は、 パスのような構造であり、 <classpath>要素をネストして設定することもできます。


Available's filepath attribute is a path-like structure and can also be set via a nested <filepath> element.

availablefilepath属性は、 パスのような構造であり、 <filepath>要素をネストして設定することもできます。


  <available classname="org.whatever.Myclass" property="Myclass.present"/>

sets the Myclass.present property to the value "true" if the class org.whatever.Myclass is found in Ant's classpath.

Ant のクラスパス中で、 org.whatever.Myclassクラスが見つかった場合、 Myclass.presentプロパティを "true" に設定します。

<property name="jaxp.jar" value="./lib/jaxp11/jaxp.jar"/>
<available file="${jaxp.jar}" property="jaxp.jar.present"/>

sets the jaxp.jar.present property to the value "true" if the file ./lib/jaxp11/jaxp.jar is found.

./lib/jaxp11/jaxp.jarファイルが見つかった場合、 jaxp.jar.presentプロパティを"true"に設定します。

<available file="/usr/local/lib" type="dir" property="local.lib.present"/>

sets the local.lib.present property to the value "true" if the directory /usr/local/lib is found.

/usr/local/libディレクトリが見つかった場合、 local.lib.presentプロパティの値を"true"に設定します。

...project 中で ...
<property name="jaxp.jar" value="./lib/jaxp11/jaxp.jar"/>
<path id="jaxp" location="${jaxp.jar}"/>
...target 中で ...
<available classname="javax.xml.transform.Transformer" classpathref="jaxp" property="jaxp11.present"/>

sets the jaxp11.present property to the value "true" if the class javax.xml.transform.Transformer is found in the classpath referenced by jaxp (in this case, ./lib/jaxp11/jaxp.jar).

javax.xml.transform.Transformerクラスが、 jaxp (この場合、./lib/jaxp11/jaxp.jar) で参照されるクラスパス中に見つかった場合、 jaxp11.present プロパティを "true" に設定します。

<available property="have.extras" resource="extratasks.properties">
    <pathelement location="/usr/local/ant/extra.jar/>

sets the have.extras property to the value "true" if the resource-file extratasks.properties is found.

リソースファイル extratasks.properties が見つかった場合、 have.extrasプロパティを"true"に設定します。

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

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