ファイルのようなエンティティは、リソースという概念に抽象化できます。リソースの実装は、ファイルのような属性へのアクセスを提供するだけでなく、可能な限り、基になるエンティティからのコンテンツの読み取りや、エンティティへのコンテンツの書き込みの手段を提供する必要があります。リソースの概念は Apache Ant 1.5.2 で導入されましたが、リソースを明示的に使用できるのはAnt 1.7 以降です。
基本リソース。他のリソース型はこの基本型から派生します。そのため、そのすべての属性が利用可能ですが、ほとんどの場合、無関係な属性は無視されます。この実装とすべてのリソース実装は、単一要素のリソースコレクションとしても使用できます。
| 属性 | 説明 | 必須 | 
|---|---|---|
| name | このリソースの名前 | いいえ | 
| exists | このリソースが存在するかどうか | いいえ。デフォルトは true | 
| lastmodified | このリソースの最終変更時刻 | いいえ | 
| directory | このリソースがディレクトリのようなものであるかどうか | いいえ。デフォルトは false | 
| size | このリソースのサイズ | いいえ | 
| refid | この resourceを、他の場所で定義されたresourceへの参照にします。指定した場合、他の属性またはネストされた要素は許可されません。 | いいえ | 
ローカルファイルシステムの規則を介してアクセス可能なファイルを表します。
| 属性 | 説明 | 必須 | 
|---|---|---|
| file | このリソースが表すファイル | はい | 
| basedir | このリソースのベースディレクトリ。この属性を設定すると、リソースの名前へのアクセスを試みると、この場所を基準としたパスが生成されます。 | いいえ | 
| refid | この fileを、他の場所で定義されたfileへの参照にします。指定した場合、他の属性またはネストされた要素は許可されません。 | いいえ | 
Java クラスローダー経由でロード可能なリソースを表します。
| 属性 | 説明 | 必須 | 
|---|---|---|
| name | リソースの名前。 | はい | 
| classpath | リソースを検索するときに使用するクラスパス。 | いいえ | 
| classpathref | 他の場所で定義された <path>への参照として指定された、リソースを検索するときに使用するクラスパス。 | いいえ | 
| loaderRef | 指定されたクラスパスから構築された、リソースをロードするために使用されるローダーの名前。 | いいえ | 
| parentFirst | ネストされたクラスパスを使用するときに、最初に親クラスローダー(親クラスローダーはシステムクラスローダーである可能性が高い)を参照するかどうか。 Ant 1.8.0 以降 | いいえ。デフォルトは true | 
| refid | この javaresourceを、他の場所で定義されたjavaresourceへの参照にします。指定した場合、他の属性またはネストされた要素は許可されません。 | いいえ | 
クラスパスは、ネストされたクラスパス要素としても指定できます。ここで、<classpath> はパスのような構造です。
Java 定数の値をロードします。javaresourceの特殊なものとして、そのすべての属性とネストされた要素がサポートされています。定数は public static として指定する必要があります。そうしないとロードできません。
| 属性 | 説明 | 必須 | 
|---|---|---|
| name | リソースの名前。完全修飾フィールド名として指定する必要があります。 | はい | 
| refid | この javaconstantを、他の場所で定義されたjavaconstantへの参照にします。指定した場合、他の属性またはネストされた要素は許可されません。 | いいえ | 
これにより、org.acme.Main クラスの定数 VERSION の値が version プロパティにロードされます。そのクラスを見つけるためのクラスパスは、ネストされた classpath 要素を介して提供されます。
<loadresource property="version">
  <javaconstant name="org.acme.Main.VERSION">
    <classpath>
      <pathelement location="${acme.lib.dir}"/>
    </classpath>
  </javaconstant>
</loadresource>
その定数(build.xml
)の内容で新しいファイル c:/temp/org.apache.tools.ant.Main.DEFAULT_BUILD_FILENAME を作成します。
<copy todir="c:/temp"> <javaconstant name="org.apache.tools.ant.Main.DEFAULT_BUILD_FILENAME"/> </copy>
ZIP アーカイブ内のエントリを表します。アーカイブは、archive 属性またはネストされた単一要素のリソースコレクションを使用して指定できます。zipentry は、ネストされた要素としてファイルシステムリソースのみをサポートします。
| 属性 | 説明 | 必須 | 
|---|---|---|
| zipfile | このリソースを含む zip ファイル | はい。ネストされたリソースコレクションが指定されていない場合。 | 
| archive | zipfile の別名 | |
| name | アーカイブされたリソースの名前 | はい | 
| encoding | zip ファイルのエンコーディング | いいえ。デフォルトは JVM のデフォルト文字エンコーディング | 
| refid | この propertyresourceを、他の場所で定義されたpropertyresourceへの参照にします。指定した場合、他の属性またはネストされた要素は許可されません。 | いいえ | 
TAR アーカイブ内のエントリを表します。アーカイブは、archive 属性またはネストされた単一要素のリソースコレクションを使用して指定できます。
| 属性 | 説明 | 必須 | 
|---|---|---|
| archive | このリソースを含む tar アーカイブ | はい。ネストされたリソースコレクションが指定されていない場合。 | 
| name | アーカイブされたリソースの名前 | はい | 
これはスタンドアロンのリソースではなく、リソースの内容をその場で圧縮する別のリソースのラッパーです。単一要素のリソースコレクションをネストされた要素として指定する必要があります。
これはスタンドアロンのリソースではなく、リソースの内容をその場で圧縮する別のリソースのラッパーです。単一要素のリソースコレクションをネストされた要素として指定する必要があります。
これはスタンドアロンのリソースではなく、リソースの内容をその場で圧縮する別のリソースのラッパーです。単一要素のリソースコレクションをネストされた要素として指定する必要があります。
XZ 圧縮のサポートは、Apache Ant 1.10.1 以降で追加され、Ant ディストリビューションに含まれていない外部ライブラリに依存します。詳細については、ライブラリの依存関係を参照してください。
URL を表します。
| 属性 | 説明 | 必須 | 
|---|---|---|
| url | 公開する URL | これらのいずれか 1 つ | 
| file | file:URL として公開するファイル | |
| baseUrl | relativePath と組み合わせる必要があるベース URL | |
| relativePath | baseUrl と組み合わせた場合に URL を定義する相対パス | baseUrl を使用している場合 | 
| refid | この urlを、他の場所で定義されたurlへの参照にします。指定した場合、他の属性またはネストされた要素は許可されません。 | いいえ | 
Java 文字列を表します。書き込むことはできますが、一度しか書き込めません。その後、再度書き込むとエラーになります。
| 属性 | 説明 | 必須 | 
|---|---|---|
| value | このリソースの値 | いいえ | 
| refid | この stringを、他の場所で定義されたstringへの参照にします。指定した場合、他の属性またはネストされた要素は許可されません。 | いいえ | 
リソースはネストされたテキストもサポートしており、value 属性が設定されていない場合にのみ指定できます。
<string>
    self.log("Ant version =${ant.version}");
</string>
Ant プロパティを表します。
| 属性 | 説明 | 必須 | 
|---|---|---|
| name | プロパティ名 | はい | 
リソースコレクションは、多数のリソースをグループ化するエンティティの抽象化です。Ant の「レガシー」データ型のいくつかは、リソースコレクションとして動作するように変更されました。
不思議なことに、一部のタスクは、リソースコレクションとして正当に動作することさえあります。
参照で使用するように設計された、汎用リソースコレクション。たとえば、サードパーティの Ant タスクが不明なタイプのリソースコレクションを生成した場合でも、<resources> コレクションを介してアクセスできます。このコレクションタイプの 2 番目の用途は、他のリソースコレクションのコンテナーとして、ネストされたコレクションの順序と重複するリソースを保持することです(union と比較してください)。
| 属性 | 説明 | 必須 | 
|---|---|---|
| cache | 結果をキャッシュするかどうか。Ant 1.8.0 以降 | いいえ。デフォルトは false | 
| refid | この resourcecollectionを、他の場所で定義されたresourcecollectionへの参照にします。指定した場合、他の属性またはネストされた要素は許可されません。 | いいえ | 
ファイルのグループ。これらのファイルは、多数のPatternSet から取得した絶対パターンによって一致します。これらは、ネストされた <patternset> 要素として指定できます。さらに、<files> は暗黙的な PatternSet を保持し、PatternSet のネストされた <include>、<includesfile>、<exclude>、および <excludesfile> 要素と、PatternSet の属性を直接サポートします。
ファイルセレクターは、ネストされた要素として使用できます。含めるには、すべてのセレクターでファイルを選択する必要があります。したがって、<files> は <and> ファイルセレクターコンテナーと同等です。
より簡単に言うと、このタイプは、ベースディレクトリのないfilesetと同等です。注意してください。ベースディレクトリがない場合、ファイルシステムスキャンは、包含および除外パターンのみに基づいています。ファイル名(または任意の)セレクターは、パターンベースの選択に基づいてファイルが含まれた後にのみ、スキャンプロセスに影響を与えることができます。
| 属性 | 説明 | 必須 | 
|---|---|---|
| includes | 含める必要があるファイルのパターンのコンマ区切りまたはスペース区切りのリスト | これらのいずれか少なくとも1つ | 
| includesfile | ファイルの名前。このファイルの各行は、包含パターンと見なされます。 | |
| excludes | 除外する必要があるファイルのパターンのコンマ区切りまたはスペース区切りのリスト | いいえ。デフォルトは、defaultexcludes が noの場合はデフォルトの除外またはなし | 
| excludesfile | ファイルの名前。このファイルの各行は、除外パターンと見なされます。 | |
| defaultexcludes | デフォルトの除外を使用するかどうか | いいえ。デフォルトは true | 
| casesensitive | パターンで大文字と小文字が区別されるかどうか | いいえ。デフォルトは true | 
| followsymlinks | シンボリックリンクをたどるかどうか(以下の注を参照) | いいえ。デフォルトは true | 
| refid | この filesを、他の場所で定義されたfilesへの参照にします。指定した場合、他の属性やネストされた要素は許可されません。 | いいえ | 
注意: カノニカルパスがそのパスと異なるすべてのファイル/ディレクトリは、シンボリックリンクと見なされます。Unixシステムでは、これは通常、ファイルが実際にシンボリックリンクであることを意味しますが、他のプラットフォームでは誤った結果につながる可能性があります。
リソースセレクターを使用して、ネストされたリソースコレクションを制限します。
| 属性 | 説明 | 必須 | 
|---|---|---|
| cache | 結果をキャッシュするかどうか。無効にするとパフォーマンスに深刻な影響を与える可能性があります。 | いいえ。デフォルトは true | 
| refid | この restrictを、他の場所で定義されたrestrictへの参照にします。指定した場合、他の属性やネストされた要素は許可されません。 | いいえ | 
単一のリソースコレクションが必要です。
ネストされたリソースセレクターは、論理ANDで結合され、含まれるリソースを「絞り込む」ために使用されます。これらはファイルセレクターを模倣していますが、当然ながらリソースを対象としています。いくつかの組み込みリソースセレクターは、内部antlib org.apache.tools.ant.types.resources.selectorsで利用可能です。
andします。
orします。
notします。
名前でリソースを選択します。
| 属性 | 説明 | 必須 | 
|---|---|---|
| name | 標準のAntパターンを使用してテストする名前パターン。 | 次のうちちょうど1つ | 
| regex | 選択するファイルに一致する正規表現。 | |
| casesensitive | 名前比較で大文字と小文字を区別するかどうか | いいえ。デフォルトは true | 
| handledirsep | これを指定した場合、マッパーは、一致させるためにリソース名または名前属性の\文字を/として扱います。この属性には、 trueまたは falseを指定できます。Ant 1.8.0以降 | いいえ。デフォルトは false | 
存在するリソースを選択します。
日付でリソースを選択します。
| 属性 | 説明 | 必須 | 
|---|---|---|
| millis | 1970年1月1日からの比較日時(ミリ秒単位) | 次のいずれか | 
| datetime | フォーマットされた比較日時 | |
| pattern | 現在のロケールを使用する datetime属性で使用するSimpleDateFormat互換のパターン | いいえ; デフォルトは、USロケールを使用した MM/dd/yyyy hh:mm aです。 | 
| granularity | ファイルの変更時刻を比較するときに使用するミリ秒単位の猶予時間。これは、すべてのファイルシステムが最後の変更時刻をミリ秒レベルで追跡できるわけではないためです。 | いいえ; デフォルトはプラットフォームによって異なります:FATファイルシステム= 2秒。Unix = 1秒。NTFS = 1ミリ秒。 | 
| when | before、 after、 equalのいずれか | いいえ; デフォルトは equal | 
型(ファイルまたはディレクトリ)でリソースを選択します。
| 属性 | 説明 | 必須 | 
|---|---|---|
| type | file、 dir、 anyのいずれか(Ant 1.8以降) | はい | 
サイズでリソースを選択します。
| 属性 | 説明 | 必須 | 
|---|---|---|
| size | 比較するサイズ | はい | 
| when | equal、 eq、 greater、 gt、 less、 lt、 ge(以上)、 ne(等しくない)、 le(以下)のいずれか | いいえ; デフォルトは equal | 
型でリソースを選択します。
| 属性 | 説明 | 必須 | 
|---|---|---|
| class | リソースがインスタンスでなければならないクラス | 次のいずれか | 
| type | リソースから割り当て可能である必要があるAnt型 | |
| uri | typeが定義されている必要があるURI | いいえ | 
ネストされたすべてのリソースセレクターで選択されている場合、リソースを選択します。
少なくとも1つのネストされたリソースセレクターで選択されている場合、リソースを選択します。
許可されている単一のネストされたリソースセレクターの選択結果を否定します。
ネストされたリソースセレクターによって選択されていない場合、リソースを選択します。
ネストされたリソースセレクターの過半数によって選択されている場合、リソースを選択します。
| 属性 | 説明 | 必須 | 
|---|---|---|
| allowtie | (ネストされたリソースセレクターの数が偶数の場合)同数が過半数と見なされるかどうか | いいえ。デフォルトは true | 
ネストされたリソースコンパレーターを使用して、1つ以上の「制御」リソースとの比較に基づいてリソースを選択します。
| 属性 | 説明 | 必須 | 
|---|---|---|
| when | 比較( equal/ eq、 greater/ gt、 less/ lt、 le(以下)、 ge(以上)、 ne(等しくない))。 | いいえ; デフォルトは equal | 
| against | 数量詞( all/ each/ every、 any/ some、(正確に) one、 most/ majority、 none)。 | いいえ; デフォルトは all | 
比較を行う対象のリソースは、リソースコレクションを示すネストされた<control>要素を使用して指定する必要があります。
名前空間の設定を想定
rsel="antlib:org.apache.tools.ant.types.resources.selectors" rcmp="antlib:org.apache.tools.ant.types.resources.comparators"
<restrict>
  <fileset dir="src" includes="a,b,c,d,e,f,g"/>
  <rsel:compare when="le" against="all">
    <control>
      <resource name="d"/>
    </control>
    <rcmp:name/>
  </rsel:compare>
</restrict>
ファイルa、b、c、およびdを選択します。
<project rsel="antlib:org.apache.tools.ant.types.resources.selectors">
    <macrodef name="copyFromPath">
        <attribute name="todir"/>
        <attribute name="refid"/>
        <element name="nested-resource-selectors" optional="yes" implicit="true"/>
        <sequential>
            <mkdir dir="@{todir}" taskname="copyFromPath"/>
            <copy todir="@{todir}" taskname="copyFromPath">
                <restrict>
                    <path refid="@{refid}"/>
                    <rsel:or>
                        <nested-resource-selectors/>
                    </rsel:or>
                </restrict>
                <flattenmapper/>
            </copy>
        </sequential>
    </macrodef>
    <copyFromPath refid="classpath" todir="todir">
        <rsel:name name="log4j.properties"/>
        <rsel:name name="default.properties"/>
    </copyFromPath>
</project>
todirディレクトリを作成し、クラスパス(コンパイル中にすでに使用されている)からファイルlog4j.propertiesとdefault.propertiesを(存在する場合は)コピーします。
<project>
    <filelist id="allfiles" dir="${ant.home}/bin" files="ant.cmd,foo.txt,ant.bat,bar.txt,ant"/>
    <restrict id="missingfiles">
        <filelist refid="allfiles"/>
        <rsel:not xmlns:rsel="antlib:org.apache.tools.ant.types.resources.selectors">
            <rsel:exists/>
        </rsel:not>
    </restrict>
    <echo>These files are missed: ${toString:missingfiles}</echo>
</project>
リソースコレクションallfiles
は、期待されるファイルのリストを定義します。制限missingfiles
は、<not><exists>セレクターを使用して、存在しないすべてのファイルを取得します。最後に、読みやすい形式で取得するために、toString: pathshortcutを使用します:[echo] これらのファイルが見つかりません:....foo.txt;....bar.txt
リソースの自然な順序に従って、または1つ以上のネストされたリソースコンパレーターによって、ネストされたリソースコレクションをソートします。
| 属性 | 説明 | 必須 | 
|---|---|---|
| cache | 結果をキャッシュするかどうか。無効にするとパフォーマンスに深刻な影響を与える可能性があります。 | いいえ。デフォルトは true | 
| refid | この sortを、他の場所で定義されたsortへの参照にします。指定した場合、他の属性やネストされた要素は許可されません。 | いいえ | 
単一のリソースコレクションが必要です。
ソートは、1つ以上のリソースコンパレーターを指定することで制御およびカスタマイズできます。リソースは複数の基準に従ってソートできます。最初に指定したものが「最も外側」で、最後に指定したものが「最も内側」になります。いくつかの組み込みリソースコンパレーターは、内部antlib org.apache.tools.ant.types.resources.comparatorsで利用可能です。
名前でリソースをソートします。
存在によってリソースをソートします。存在しないものは、存在するものよりも「小さい」と見なされます。
日付でリソースをソートします。
型(ファイルまたはディレクトリ)でリソースをソートします。ディレクトリにはファイルが含まれているため、「大きい」と見なされます。
サイズでリソースをソートします。
内容でリソースをソートします。
| 属性 | 説明 | 必須 | 
|---|---|---|
| binary | 内容をバイナリモードで比較するかどうか。 falseの場合、プラットフォーム固有の改行規則に関係なく内容が比較されます。 | いいえ。デフォルトは true | 
自然なソート順序、または単一のネストされたコンパレーターのソート順序を反転します。
<property name="eol" value="${line.separator}"/>
<pathconvert property="sorted" pathsep="${eol}">
  <sort>
    <tokens>
      <string value="foo bar etc baz"/>
      <stringtokenizer/>
    </tokens>
  </sort>
</pathconvert>
文字列型のfoo bar etc baz
のリソースは、stringtokenizerによって4つのトークンに分割されます。これらのトークンはソートされ、sortedはbar baz etc foo
の値を取得します。
<sort>
  <fileset dir="foo"/>
  <reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators">
    <date/>
  </reverse>
</sort>
これは、fooからすべてのファイルを取得し、変更日順に逆順でソートします。使用されるリソースコンパレーター(<reverse>と<date>)は内部antlibにあるため、名前空間を明示的に設定する必要があります。
ネストされたリソースコレクションから最初のcountリソースを含めます。これは、たとえば、より大きなコレクションから最初のいくつかの最も古い、最大のなどのリソースを選択するために、sortコレクションと組み合わせて使用できます。
| 属性 | 説明 | 必須 | 
|---|---|---|
| count | 含めるリソースの数 | いいえ; デフォルトは 1 | 
| cache | 結果をキャッシュするかどうか。無効にするとパフォーマンスに深刻な影響を与える可能性があります。 | いいえ。デフォルトは true | 
| refid | この firstを、他の場所で定義されたfirstへの参照にします。指定した場合、他の属性やネストされた要素は許可されません。 | いいえ | 
単一のリソースコレクションが必要です。
Ant 1.7.1以降
ネストされたリソースコレクションから最後のcountリソースを含めます。これは、たとえば、より大きなコレクションから最後のいくつかの最も古い、最大のなどのリソースを選択するために、sortコレクションと組み合わせて使用できます。
| 属性 | 説明 | 必須 | 
|---|---|---|
| count | 含めるリソースの数 | いいえ; デフォルトは 1 | 
| cache | 結果をキャッシュするかどうか。無効にするとパフォーマンスに深刻な影響を与える可能性があります。 | いいえ。デフォルトは true | 
| refid | この lastを、他の場所で定義されたlastへの参照にします。指定した場合、他の属性やネストされた要素は許可されません。 | いいえ | 
単一のリソースコレクションが必要です。
Ant 1.9.5以降
ネストされたリソースコレクションから最初のcountリソースを除くすべての要素を含めます。これは、たとえば、より大きなコレクションから最初のいくつかの最も古い、最大のなどのリソースを除くすべてを選択するために、sortコレクションと組み合わせて使用できます。
| 属性 | 説明 | 必須 | 
|---|---|---|
| count | 除外するリソースの数 | いいえ; デフォルトは 1 | 
| cache | 結果をキャッシュするかどうか。無効にするとパフォーマンスに深刻な影響を与える可能性があります。 | いいえ。デフォルトは true | 
| refid | この allbutfirstを、他の場所で定義されたallbutfirstへの参照にします。指定した場合、他の属性やネストされた要素は許可されません。 | いいえ | 
単一のリソースコレクションが必要です。
Ant 1.9.5以降
ネストされたリソースコレクションから最後のcountリソースを除くすべての要素を含めます。これは、たとえば、より大きなコレクションから最後のいくつかの最も古い、最大のなどのリソースを除くすべてを選択するために、sortコレクションと組み合わせて使用できます。
| 属性 | 説明 | 必須 | 
|---|---|---|
| count | 除外するリソースの数 | いいえ; デフォルトは 1 | 
| cache | 結果をキャッシュするかどうか。無効にするとパフォーマンスに深刻な影響を与える可能性があります。 | いいえ。デフォルトは true | 
| refid | この allbutlastを、他の場所で定義されたallbutlastへの参照にします。指定した場合、他の属性やネストされた要素は許可されません。 | いいえ | 
単一のリソースコレクションが必要です。
ネストされたリソースコレクションから収集されたstringトークンを含めます。TokenFilterでサポートされているのと同じトークナイザーを使用します。このリソースコレクションを創造的に使用することで、sort、grep -c、wc、wc -lなどのUnix関数の同等のものを実装できます。
| 属性 | 説明 | 必須 | 
|---|---|---|
| encoding | ネストされたリソースのエンコーディング | いいえ; デフォルトはデフォルトのJVM文字エンコーディングです | 
| cache | 結果をキャッシュするかどうか。無効にするとパフォーマンスに深刻な影響を与える可能性があります。 | いいえ。デフォルトは true | 
| refid | この tokensを、他の場所で定義されたtokensへの参照にします。指定した場合、他の属性やネストされた要素は許可されません。 | いいえ | 
<concat>
  <union>
    <sort>
      <tokens>
        <resources refid="input"/>
        <linetokenizer includedelims="true"/>
      </tokens>
    </sort>
  </union>
</concat>
リソースコレクションinput
に対してUnix sort -uを実装します。
次のリソースコレクションは、集合演算を実装します
ネストされたリソースコレクションの和集合。
唯一サポートされている属性は refid であり、これによりこの union は、他の場所で定義された union への参照になります。指定された場合、他の属性やネストされた要素は許可されません。
ネストされたリソースコレクションの交差。
唯一サポートされている属性は refid であり、これによりこの intersect は、他の場所で定義された intersect への参照になります。指定された場合、他の属性やネストされた要素は許可されません。
ネストされたリソースコレクションの差分。
以下の属性は、すべての集合演算リソースコレクションに適用されます。
| 属性 | 説明 | 必須 | 
|---|---|---|
| cache | 結果をキャッシュするかどうか。無効にするとパフォーマンスに深刻な影響を与える可能性があります。 | いいえ。デフォルトは true | 
| refid | この differenceを、他の場所で定義されたdifferenceへの参照にします。指定された場合、他の属性やネストされた要素は許可されません。 | いいえ | 
<resources id="A">
    <string value="a"/>
    <string value="b"/>
</resources>
<resources id="B">
    <string value="b"/>
    <string value="c"/>
</resources>
<union id="union"><resources refid="A"/><resources refid="B"/></union>
<intersect id="intersect"><resources refid="A"/><resources refid="B"/></intersect>
<difference id="difference"><resources refid="A"/><resources refid="B"/></difference>
<echo>
  A: ${toString:A}                    = a;b
  B: ${toString:B}                    = b;c
  union     : ${toString:union}       = a;b;c
  intersect : ${toString:intersect}   = b
  difference: ${toString:difference}  = a;c
</echo>
Ant 1.8.0 以降
別のリソースコレクションをラップし、マッパーを使用してネストされたリソースの名前をマップします。
mappedresources がファイルシステムベースのリソースで構成されるリソースコレクションをラップしている場合でも、mappedresources はファイルシステムベースであるとは見なされません。つまり、ファイルシステムベースのリソースのみを許可するタスクで mappedresources を使用することはできません。
| 属性 | 説明 | 必須 | 
|---|---|---|
| cache | 結果をキャッシュするかどうか。有効にするとパフォーマンスが向上する可能性があります。Ant 1.8.1以降 | いいえ。デフォルトは false | 
| enablemultiplemappings | trueの場合、コレクションは特定のソースパスのすべてのマッピングを使用します。 falseの場合、最初のリソースのみを処理します。Ant 1.8.1以降 | いいえ。デフォルトは falseです。 | 
| refid | この mappedresourcesを、他の場所で定義されたmappedresourcesへの参照にします。指定された場合、他の属性やネストされた要素は許可されません。 | いいえ | 
単一のリソースコレクションが必要です。
単一のマッパーを使用して名前をマップできます。マッパーが指定されていない場合(正直なところ意味がありませんが)、アイデンティティマッパーが使用されます。
指定されたディレクトリからターゲットディレクトリにすべてのファイルをコピーし、拡張子として .bak を追加します。これは、copy に直接ネストされた mapper でも実行できることに注意してください。
<copy todir="${target}">
  <mappedresources>
    <fileset dir="${src}"/>
    <globmapper from="*" to="*.bak"/>
  </mappedresources>
</copy>
ファイルであるすべての CLASSPATH エントリを、ファイルシステム構造を保持せずに WEB-INF/lib ディレクトリに追加する WAR アーカイブを作成します。
<war destfile="${output}">
  <mappedresources>
    <restrict>
      <path path="${java.class.path}"/>
      <type type="file"/>
    </restrict>
    <chainedmapper>
      <flattenmapper/>
      <globmapper from="*" to="WEB-INF/lib/*"/>
    </chainedmapper>
  </mappedresources>
</war>
Ant 1.8.0 以降
このリソースコレクションは、任意の数のネストされたリソースを受け入れ、それらのすべてのリソースが ZIP または TAR アーカイブであると想定します。<archives> によって返されるリソースは、ネストされたアーカイブの内容です。
このリソースコレクションは、zip ファミリーのタスクでのみサポートされている zipgroupfileset を一般化したものです。
唯一サポートされている属性は refid であり、これによりこの archives は、他の場所で定義された archives への参照になります。指定された場合、他の属性やネストされた要素は許可されません。
<archives> には、union 自体である <zips> および <tars> の2つのネストされた要素があります。つまり、ネストされた要素として任意の数のリソース(コレクション)を受け入れます。
<zips> のネストされたリソースは ZIP アーカイブとして扱われ、<tars> のネストされたリソースは TAR アーカイブとして扱われます。
クラスパスにあるすべての jar から ${target} にすべてのファイルをコピーします。
<copy todir="${target}">
  <archives>
    <zips>
      <restrict>
        <path path="${java.class.path}"/>
        <name name="*.jar"/>
      </restrict>
    </zips>
  </archives>
</copy>
Ant 1.8.0 以降
このリソースコレクションは、任意の数のネストされたリソースを受け入れ、それらのリソースを読み取り、読み取られた各行のリソースを返します。
行にコロンが含まれている場合、Ant はそれを URL として使用しようとし、失敗した場合(または行にコロンが含まれていない場合)、行の内容を名前とするファイルリソースを返します。
プロパティは各行で展開されます。プロパティの展開によって文字列ではなくリソースオブジェクト(カスタムプロパティヘルパーなどによる)が生成される場合、リソースは直接返されます。
<resourcelist> は、<filelist> を一般化したものです。
| 属性 | 説明 | 必須 | 
|---|---|---|
| encoding | ネストされたリソースのエンコーディング | いいえ; デフォルトはデフォルトのJVM文字エンコーディングです | 
| basedir | 相対ファイル名を解決するために使用されるベースディレクトリ。このリソースコレクションによって作成された FileResources にベースディレクトリを提供するためにも使用されます。Ant 1.10.4以降 | いいえ | 
| preserveduplicates | この resourcelistが、指定された回数だけすべてのリソースを返すようにします。それ以外の場合、resourcelistは各リソースを、最初に表示された順序で1回だけ返します。Ant 1.10.10以降 | いいえ | 
| refid | この resourcelistを、他の場所で定義されたresourcelistへの参照にします。指定された場合、他の属性やネストされた要素は許可されません。 | いいえ | 
<resourcelist> は、ネストされた要素として任意の数のリソース(コレクション)を受け入れます。
さらに、<resourcelist> は、読み取られたリソースが展開される前にフィルタリング/変更するために使用できる、ネストされた <filterchain> 要素をサポートしています。このようなネストされた要素は、filterchain に対応します。
次の例では、実際に到達できるいくつかの代替URLの最初のURLからファイルをコピーします。ファイル mirrors.txt が次のようになっていると仮定します。
mirrors.txt: https://best.mirror.example.org/ http://second.best.mirror.example.org/mirror/of/best/ https://yet.another.mirror/ https://the.original.site/
<copy todir="${target}">
  <first>
    <restrict>
      <resourcelist>
        <file file="mirrors.txt"/>
      </resourcelist>
      <exists/>
    </restrict>
  </first>
</copy>