Ivy 世界中,模組描述符即 ivy 檔案,描述模組產出的制品及其依賴。為所有涉及模組編寫或下載描述符是好習慣,甚至包括第三方依賴(即使不提供自己的描述符)。
起初似額外工作,但當多模組使用相同第三方庫,只需在 ivy 檔案加一行即可獲得該庫及其特有依賴(倉庫有正確描述符時,尤其配合模組配置)。更新依賴時,修改 ivy 檔案一行即可獲取更新版本及其依賴。建議倉庫所有模組都有 ivy 檔案,甚至可透過設定解析器 allownomd=false 強制執行。不需使用包含/排除/規格等特性,僅用於特殊情況。
對開源專案不一定適用,但企業環境強烈建議避免依賴公共倉庫(如 Maven ibiblio 或 ivyrep)。原因:
注意:用企業倉庫不意味著全手工建構。Ivy 有 install 任務可從一倉庫安裝模組到另一倉庫,可選擇性從公共倉庫安裝到企業倉庫,保有控制、可靠性、準確性。
Ivy 靈活適應現有倉庫,但若倉庫尚不存在,強烈建議模式中始終使用組織和模組名,即使僅放置自己模組的私有倉庫(所有組織相同)。原因:Ivy listing feature 依賴模式中的標記。無組織標記則無法列出倉庫組織,影響 IvyDE 自動完成、倉庫範圍任務(安裝、報告)。
建立公共倉庫時,請提供對應 URL 的 ivysettings.xml。想利用倉庫者只需設定此 URL 載入,或在自己配置中包含,使聯合多公共倉庫變得容易。