実行時にリソースが使用可能な場合にプロパティを設定します。このリソースは、ファイル、ディレクトリ、クラスパス内のクラス、または JVM システムリソースにすることができます。
注: クラスがロードできる場合、クラスパスで使用可能になります。つまり、依存するすべてのクラスもクラスパスに存在する必要があります。
リソースが存在する場合、プロパティ値は既定で true
に設定されます。そうでない場合、プロパティは設定されません。 value 属性を指定すると、値を既定値以外の値に設定できます。
通常、このタスクは、システムパラメータに応じてターゲットの実行を回避するために役立つプロパティを設定するために使用されます。
| 属性 | 説明 | 必須 |
|---|---|---|
| property | 設定するプロパティの名前。 | はい |
| value | プロパティに設定する値。 | いいえ; 既定の true |
| classname | クラスパス内で検索するクラス。 | 3 つのうち 1 つ |
| file | 検索するファイル。 | |
| resource | JVM 内で検索するリソース。 | |
| classpath | classname または resource を検索するときに使用するクラスパス。 | いいえ |
| filepath | file を検索するときに使用するパス。 | いいえ |
| classpathref | 使用するクラスパス。他の場所に定義されたパスへの 参照 として指定します。 | いいえ |
| type | 検索する file のタイプ (ディレクトリ (type=dir) またはファイル (type= file) のいずれか)。設定されていない場合、プロパティは、 file 属性で指定された名前がファイルまたはディレクトリとして存在する場合に設定されます。 |
いいえ |
| ignoresystemclasses | Ant のランタイムクラスを無視し、指定されたクラスパスのみを使用します。 classname 属性にのみ影響します。 | いいえ; 既定の false |
| searchparents | filetype の動作を保持します。 trueの場合、タスクはファイルを検索するときに、指定されたディレクトリだけでなく、それらの指定されたディレクトリの親ディレクトリも検索します。 falseの場合、指定されたディレクトリのみが検索されます。Ant 1.7 以降 |
いいえ; 既定の false |
Available の classpath 属性は パスライク構造 であり、ネストされた <classpath> 要素経由でも設定できます。
Available の filepath 属性は パスライク構造 であり、ネストされた <filepath> 要素経由でも設定できます。
クラス org.whatever.Myclass が Ant のクラスパスにある場合、 Myclass.present プロパティを値 true
に設定します。
<available classname="org.whatever.Myclass" property="Myclass.present"/>
ファイル ./lib/jaxp11/jaxp.jar が見つかった場合、 jaxp.jar.present プロパティを値 true
に設定します。
<property name="jaxp.jar" value="./lib/jaxp11/jaxp.jar"/>
<available file="${jaxp.jar}" property="jaxp.jar.present"/>
ディレクトリ /usr/local/lib が見つかった場合、 local.lib.present プロパティを値 true
に設定します。
<available file="/usr/local/lib" type="dir"
property="local.lib.present"/>
クラスパスにjavax.xml.transform.Transformerクラスがある場合、jaxp11.presentプロパティを値true
に設定します(この場合、./lib/jaxp11/jaxp.jar)
...in project ...
<property name="jaxp.jar" value="./lib/jaxp11/jaxp.jar"/>
<path id="jaxp" location="${jaxp.jar}"/>
...in target ...
<available classname="javax.xml.transform.Transformer"
classpathref="jaxp" property="jaxp11.present"/>
リソースファイルextratasks.propertiesがある場合、have.extrasプロパティを値true
に設定します
<available property="have.extras" resource="extratasks.properties">
<classpath>
<pathelement location="/usr/local/ant/extra.jar"/>
</classpath>
</available>