Eclipse 更新可讓使用者搜尋目前所安裝之功能的更新項目。 對於每個已安裝的特性,這項更新都會利用內嵌的 URL 來連接遠端伺服器以及搜尋新版本。 如果有更新項目,Eclipse 可讓使用者起始安裝程序。 下載、安裝和重新啟動平台之後,新的特性版本便已準備好,可以開始使用。
在許多使用者有相同 Eclipse 型產品(通常是商用產品)的公司中,這個模型可能會產生若干問題:
產品管理者的第一步驟是在連接公司 LAN(在防火牆後面)的伺服器中,設定一個本端 Eclipse 更新網站。 這個更新網站是網際網路中之產品更新網站的子集,因為它只包含公司這時要套用的更新項目的相關特性和外掛程式。 在技術上,這個網站是含有 site.xml、特性和外掛程式保存檔的一般 Eclipse 更新網站。
管理者可以利用兩種方式來建構這個網站:
由於特性將更新網站 URL 內嵌在 Manifest 中,它們並不知道管理者所設定的本端更新網站。 因此,提供重新導向功能便很重要。 您可以建立一個更新原則檔,將這項更新配置成在搜尋時會使用這個檔案,來設定 Eclipse 產品的這項和其他更新原則設定。
相關檔案使用 XML 格式,且可以有任何名稱。 您可以在更新原則欄位的喜好設定>安裝/更新中設定這個檔案。 依預設,文字欄位是空的:使用者可以設定更新原則檔的 URL。 這個檔案由本端管理者來管理,所有產品安裝架構都可以共用它。 共用的方式有兩種:
org.eclipse.update.core/updatePolicyFile = <URL value>
原則檔必須符合下列 DTD:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT update-policy (url-map)*>
<!ATTLIST update-policy
><!ELEMENT url-map EMPTY>
<!ATTLIST url-map
pattern CDATA #REQUIRED
url CDATA #REQUIRED
>
這個元素用來置換特性 Manifest 所內嵌的更新 URL。 當尋找新的更新項目時,Eclipse 搜尋會檢查更新原則(如果有的話),且會檢查有沒有指定比對特性字首的 url-map。 如果找到相符者,就會用對映的 URL 來取代內嵌的 URL。 管理者可以利用這個方式配置 Eclipse 產品在防火牆後面的本端伺服器中搜尋更新項目。 同時,Eclipse 更新所安裝的協力廠商特性也會繼續利用預設機制來更新,因為它們在原則中找不到相符者。
檔案中可能會有若干 url-map 元素存在。
您可以選擇較特定或較不特定的特性字首。
比方說,如果要重新導向所有 Eclipse 更新,pattern 屬性就是 "org.eclipse"
。
同樣地,如果需要就個別特性來重新導向,您可以利用完整的特性 ID 來作為型樣。
您可以選擇檔案中的型樣來漸進縮小可能相符的範圍。 這可能會造成給定特性有多個相符項目。 在這個情況下,會使用符合最長的型樣。 比方說:
<?xml version="1.0" encoding="big5" ?> <update-policy> <url-map pattern="org.eclipse" url="URL1"/> <url-map pattern="org.eclipse.jdt" url="URL2"/> </update-policy>
在上述情況中,除了使用 URL2 的 org.eclipse.jdt
,所有 Eclipse 特性都會從 URL1 更新。
更新原則檔不包含可轉換的字串,因此,不需要特殊 NL 處理。 一般而言,這些檔案應該使用 big5 編碼。
整體解決方案的第三個部分是另一主題的範圍,但這裡仍要提及,因為它是解決方案不可或缺的部分。 自動更新可讓 Eclipse 依指定的時程表(在每次啟動時(預設值)、每天一次、每週一次等)來執行更新搜尋。
以下是組成解決方案的完整步驟順序: