說明

管理 Java 支援符號連結的平台上的符號連結。可用於建立個別連結、刪除連結、從屬性檔建立多個連結,或建立描述指定目錄中連結的屬性檔。預設不會覆寫現有檔案。

檔案集用於選取要記錄的連結組,或要從中建立連結的屬性檔組。

參數

屬性 說明 必要
動作 要執行的動作類型,可能是 單一記錄重新建立刪除 否;預設為 單一
連結 要建立或刪除的連結名稱。
注意:基於歷史原因,此屬性會針對目前工作目錄解析,而不是專案的 basedir。建議您始終將其值設定為絕對路徑或類似 ${basedir}/some-path 的路徑。
是,對於 動作=單一刪除;在其他動作中會忽略
資源 連結應指向的資源。 是,對於 動作=單一;在其他動作中會忽略
連結檔名 要在每個包含的目錄中建立的屬性檔名稱。 是,對於 動作=記錄;在其他動作中會忽略
覆寫 是否覆寫現有檔案。如果將覆寫設定為 true,則會覆寫連結屬性指定的任何現有檔案,無論現有檔案是否為符號連結。 否;預設為 false
發生錯誤時失敗 如果為 true,則在發生錯誤時停止建置;如果為 false,則記錄警告訊息,但不會停止建置。 否;預設為 true

指定為巢狀元素的參數

檔案集

動作=記錄 時,檔案集用於選取要記錄的目錄和連結名稱。當 動作=重新建立 時,它們也用於指定要處理的屬性檔名稱,以及可以在其中找到這些屬性檔的目錄。每個案例至少需要一個檔案集。

範例

subdir 中建立一個連結,名稱為 foo,指向一個名為 bar.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 及更早版本:由於在 1.3 之前的 Java 版本中執行系統層級命令的限制,此任務在 ANT_HOME 中使用相對路徑時可能會遇到困難。典型的症狀是 IOException,其中 Apache Ant 無法找到 /some/working/directory${ANT_HOME}/bin/antRun 或類似路徑。解決方法是將您的 ANT_HOME 環境變數變更為絕對路徑,這將移除上述路徑中的 /some/working/directory 部分,並允許 Ant 找到正確的命令列執行腳本。

注意自 Ant 1.10.2 起,此任務仰賴 Java 7 中透過 java.nio.file.Files API 引進的符號連結支援