4. データ構造2
- 2012/08/15 一部修正しました
Ant 4章 データ構造2
- 4.1. パス類似構造(Path/Classpath)
- 4.2. Pathelement
- 4.3. マッパー(Mapper)
4.1. パス類似構造(Path/Classpath)
パスやクラスパスを表すために用いられます。パス類似構造では、複数のファイルやディレクトリから構成されるパスを表現することができます。
ClasspathはJavacなどクラスパスを利用するタスクの子要素として現れます。Pathはタスクとは独立しており、別のタスクまたはパス類似構造から参照するために用います。
属性 | 説明 | 必須 |
---|---|---|
path
|
ファイルやディレクトリのリストを「:」(コロン)や「;」(セミコロン)で区切って記述します。 | |
location
|
単一のファイルまたはディレクトリを記述します。 | |
refid
|
事前定義したパス類似構造を参照します。 |
子要素として持つことのできる要素は次の通りです。
- Dirset
- Filelist
- Fileset
- Path: refid属性にidを指定
- Pathelement
- (ファイルに分類される)リソースコレクション(バージョン1.8以降)
4.2. Pathelement
Pathelementはパス類似構造の子要素として用いられるパスです。パス類似構造と異なり、子要素をもつことはできません。
属性 | 説明 | 必須 |
---|---|---|
path
|
パスのリストを「:」や「;」で区切って記述します。 | |
location
|
単一のファイルまたはディレクトリを記述します。 | |
refid
|
事前定義したパス類似構造を参照します |
Pathelementでは、path属性またはlocation属性のいずれか一方を用います。一つのPathelement要素にpath属性とlocation属性の両方定義してもエラーにはなりませんが、片方しか有効にならないのでそのような記述をするべきではありません。
クラスパスなどで多数のパスを記述する必要があるときは、パス類似構造のpath属性で複数のパスを列挙するより、pathelement子要素を複数用いて表現したほうが良いでしょう。
例えばクラスパスに次の4つのパスを定義したいとします。
- /usr/local/java/junit-3.7/junit.jar
- /usr/local/java/log4j-1.2.4/dist/lib/log4j-1.2.4.jar
- /usr/local/tomcat-4.0.4/common/lib/mail.jar
- /usr/local/tomcat-4.0.4/common/lib/activation.jar
<classpath path="/usr/local/java/junit-3.7/junit.jar:/usr/local/java/log4j-1.2.4/dist/lib/log4j-1.2.4.jar:/usr/local/tomcat-4.0.4/common/lib/mail.jar:/usr/local/tomcat-4.0.4/common/lib/activation.jar"/>
このように記述するよりも、次のように記述したほうがビルドファイルが見やすく、変更もしやすいものなります。
<classpath> <pathelement location="/usr/local/java/junit-3.7/jnit.jar" /> <pathelement location="/usr/local/java/log4j-1.2.4/dist/lib/log4j-1.2.4.jar" /> <pathelement location="/usr/local/tomcat-4.0.4/common/lib/mail.jar" /> <pathelement location="/usr/local/tomcat-4.0.4/common/lib/activation.jar" /> </classpath>