管理 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 引進的符號連結支援