説明

Java がシンボリックリンクをサポートしているプラットフォーム上のシンボリックリンクを管理します。個別のリンクの作成、リンクの削除、プロパティファイルから複数のリンクの作成、または指定したディレクトリ内のリンクを説明するプロパティファイルの作成に使用できます。既存のファイルはデフォルトでは上書きされません。

FileSet は、記録するリンクのセット、またはリンクを作成するプロパティファイルのセットを選択するために使用されます。

パラメータ

属性 説明 必須
action 実行するアクションのタイプ。"single、"recordrecreate、または deleteです。 いいえ。デフォルトは single です。
link 作成または削除するリンクの名前です。
: この属性は、プロジェクトの basedir ではなく、現在の作業ディレクトリに対して解決されます。これは過去の理由によるものです。値として常に絶対パスまたは ${basedir}/some-path などのパスを使用することをお勧めします。
はい。 action=single または delete の場合。他のアクションでは無視されます。
resource リンクが指すリソースです。 はい。 action=single の場合。他のアクションでは無視されます。
linkfilename 各含まれるディレクトリに作成するプロパティファイルの名前です。 はい。 action=record の場合。他のアクションでは無視されます。
overwrite 既存のファイルを上書きするかどうか。overwrite が true に設定されている場合、link 属性で指定した既存のファイルは、既存のファイルがシンボリックリンクであるかどうかに関係なく上書きされます。 いいえ。デフォルトは false です。
failonerror true の場合、ビルドを停止します。エラーが発生した場合に false の場合、警告メッセージをログに記録しますが、ビルドは停止しません。 いいえ。デフォルトは true です。

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

ファイルセット

FileSet は、 action=record の場合に、記録するディレクトリとリンク名を指定するために使用されます。また、 action=recreate の場合は、処理するプロパティファイルの名前と、それらを見つけることができるディレクトリの両方を指定するために使用されます。各ケースに少なくとも 1 つの fileset が必要です。

samp>bar.foo という名前のリソースに foo という名前のリンクを作成します。

<symlink link="${dir.top}/foo" resource="${dir.top}/subdir/bar.foo"/>

subdir 内とそのサブディレクトリ内のすべてのリンクを dir.links という名前のファイルに記録します。

<symlink action="record" linkfilename="dir.links">
    <fileset dir="${dir.top}" includes="subdir/**"/>
</symlink>

前の例で記録されたリンクを再作成します。

<symlink action="recreate">
    <fileset dir="${dir.top}" includes="subdir/**/dir.links"/>
</symlink>

foo という名前のリンクを削除します。

<symlink action="delete" link="${dir.top}/foo"/>

Java 1.2 およびそれ以前: Java の 1.3 より前のバージョンでシステムレベルのコマンドを実行する場合の制限により、このタスクは ANT_HOME で相対パスを使用すると操作が難しい場合があります。一般的な症状は、Apache Ant が /some/working/directory${ANT_HOME}/bin/antRun または類似したものを見つけることができない IOException です。回避策は、ANT_HOME 環境変数を絶対パスに変更することです。これにより、上記のパスから /some/working/directory の部分が削除され、Ant が正しいコマンドライン実行スクリプトを見つけることができます。

: Ant 1.10.2 以降、このタスクは java.nio.file.Files API を通じて Java 7 で導入されたシンボリックリンクサポートに依存します。