首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Ivy 參考文檔:Ant 任務詳解 - retrieve 獲取任務

     編輯:Java 相關知識

retrieve 任務概述

retrieve 任務可將解析好的依賴複製到檔案系統的任意位置。這是一個 post-resolve 任務,擁有所有 post-resolve 任務共有的行為和屬性。

從 1.4 版本開始,此任務甚至可以根據依賴解析的結果,用實際應該存在的檔案來同步目標目錄。這意味著若將 sync 設為 "true",Ivy 不僅會複製必要的檔案,還會刪除那些不再需要的檔案。

同步實際上是刪除根目標目錄下不再是 retrieve 任務必須的所有檔案和目錄。根目標目錄是目標正則表達式中標示為第一級別的第一個標記的目錄。

例如:pattern: lib/[conf]/[artifact].[ext] → root: lib

屬性說明

屬性描述必要預設值
pattern 用來複製依賴的模式 否 ${ivy.retrieve.pattern}
ivypattern 用來複製依賴的 ivy 檔案模式(1.3 起) 否 預設不獲取依賴的 ivy 檔案
conf 要獲取的配置列表,逗號分隔 否 最後一次 resolve 調用解析好的配置,或未顯式調用 resolve 時為 *
sync true 同步目標目錄,false 僅複製(1.4 起) 否 false
type 可接受的制品類型列表,逗號分隔(1.4 起) 否 所有制品類型
symlink true 建立符號連結,false 複製制品。符號連結的目的地取決於 useOrigin 屬性值(2.0 起) 否 false
settingsRef 必須被此任務使用的 Ivy 設定引用(2.0 起) 否 'ivy.instance'
log 解析和獲取過程中使用的日誌設定(2.0 起) 否 'default'

log 可選值

  • default:預設日誌設定,所有常規訊息輸出到控制台
  • quiet:停用所有常規訊息,除非發生錯誤否則整個獲取過程保持安靜

使用範例

1. 使用預設參數獲取依賴

<ivy:retrieve />

通常獲取最後一次解析調用的所有依賴到 lib 目錄中。

2. 自訂模式獲取依賴

<ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]"/>

依賴將分隔在按照配置命名的目錄中。例如有 default 和 test 兩個配置:

lib
 default
   commons-lang.jar
   commons-logging.jar
 test
   junit.jar

注意:若一個依賴被兩個配置要求,它將被複製到兩個目錄中,但下載僅在 resolve 時進行一次。

3. 啟用同步模式

<ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]" sync="true" />

若 commons-logging 不再是 default 配置一部分,新的 retrieve 調用將刪除該檔案。未啟用同步時則不會刪除。

4. 按制品類型分類獲取特定配置

<ivy:retrieve pattern="${lib.dir}/[type]/[artifact]-[revision].[ext]" conf="runtime"/>

結果目錄結構類似:

lib
 jar
   commons-lang-1.0.jar
   looks-1.1.jar
 source
   looks-1.1.zip

5. Inline 模式獲取

<ivy:retrieve organisation="foo" module="bar" inline="true" 
  pattern="${my.install.dir}/[artifact].[ext]"/>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved