“Eclipse 更新”使用户可以搜索对当前已安装的功能部件的更新。对于每个已安装的功能部件,更新都使用嵌入式 URL 来连接至远程服务器并搜索新版本。如果有更新,则 Eclipse 允许用户启动安装过程。下载、安装并重新启动平台之后,就可以使用新的功能部件版本了。
在许多公司中会有许多用户使用同一个基于 Eclipse 的产品(通常是商业版),这种模型就可能会产生几个问题:
产品管理员要执行的第一个步骤将会是在与公司的 LAN(防火墙后面)相连接的服务器上建立本地 Eclipse 更新站点。该更新站点将是因特网上的产品更新站点的一部分,原因是它将只包含与目前公司想要应用的更新有关的功能部件和插件。从技术上来说,此站点将会是具有 site.xml、功能部件和插件归档的常规 Eclipse 更新站点。
管理员按以下两种方式构造此站点:
因为功能部件在清单中嵌入了更新站点 URL,所以它们不知道管理员设置的本地更新站点。因此,提供重定向功能很重要。可以通过以下方法为 Eclipse 产品设置此功能及其他更新策略设置:创建更新策略文件并将“更新”配置为在搜索时使用该文件。
所述文件使用 XML 格式并可具有任何名称。可以通过
首选项 > 安装/更新在更新策略字段中设置该文件。缺省情况下,文本字段是空的:用户可设置更新策略文件的 URL。该文件由本地管理员管理并且所有产品安装共享它。可通过两种方式实现共享:
org.eclipse.update.core/updatePolicyURL = <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
>
此元素用于覆盖嵌入在功能部件清单中的更新 URL。当查找新的更新时,Eclipse 搜索将检查更新策略(如果有的话)并检查是否指定了匹配功能部件前缀的 url-map。如果找到匹配项,则将使用映射的 URL 而不是嵌入的 URL。这样,管理员就可以将 Eclipse 产品配置为在本地服务器(在防火墙后)中搜索更新。同时,因为 Eclipse 更新安装的第三方功能部件因为在策略中找不到匹配项而使用缺省机制继续更新。
文件中可能存在若干 url-map 元素。可选择使用更大众化或更具体的功能部件前缀。例如,要重定向所有
Eclipse 更新,模式属性将为 "org.eclipse"
。同样,如果需要根据功能部件进行重定向,可以使用完整的功能部件标识作为模式。
可以选择文件中的模式以逐步收缩可能的匹配项。这样可能导致给定功能部件有多个匹配。在这种情况下,将使用与最长的模式匹配。例如:
<?xml version="1.0" encoding="UTF-8"?> <update-policy> <url-map pattern="org.eclipse" url="URL1"/> <url-map pattern="org.eclipse.jdt" url="URL2"/> </update-policy>
在以上情况下,将从 URL1 更新所有 Eclipse 功能部件,但将使用 URL2 的 org.eclipse.jdt
除外。
更新策略文件不包含可翻译字符串,因此不需要特殊 NL 处理。这些文件一般使用 UTF-8 编码。
总体解决方案的第三部分在另一个主题中讨论,但在此处提到它,原因是它是整个解决方案的一部分。自动更新将允许 Eclipse 按照指定的时间表运行更新搜索(每当启动时(缺省值)、一天一次或一周一次等等)。
以下是组成解决方案的完整步骤顺序: