功能部件是分组和描述构成产品的插件的方法。将插件分组成功能部件允许该产品与其它基于 Eclipse 的产品以共存方式安装和更新。平台本身就分组为三个主要功能部件:
还有其它次要功能部件,如示例和平台 OS 相关部分。
注意:平台安装和更新框架允许您为此处讨论的概念构建您自己的定制实现。也就是说,可以定义您自己的功能部件类型(它们的封装格式和安装过程等),以及定义您自己的服务器站点类型用于更新功能部件。本讨论的其余部分集中讨论功能部件和更新站点的平台缺省实现。
功能部件不包含任何代码。它们仅描述一组插件,这些插件为功能部件提供功能并提供关于如何更新它的信息。功能部件封装在功能部件归档文件中,并使用功能部件清单文件 feature.xml 来描述。以下是平台功能部件的清单:
<?xml version="1.0" encoding="UTF-8" ?> <feature id="org.eclipse.platform" label="%featureName" version="2.0.0" image="eclipse_update_120.jpg" provider-name="%providerName" primary="true" application="org.eclipse.ui.workbench"> <description>%description</description> <license url="%licenseURL">%license</license> <url> <update url="http://update.eclipse.org/updates" label="%updateSiteName" /> </url> <plugin id="org.apache.ant" version="1.4.1" /> <plugin id="org.apache.lucene" version="1.2.0" /> <plugin id="org.apache.xerces" version="4.0.3" /> <plugin id="org.eclipse.ant.core" version="2.0.0" /> <plugin id="org.eclipse.compare" version="2.0.0" /> <plugin id="org.eclipse.core.boot" version="2.0.0" /> <plugin id="org.eclipse.core.resources" version="2.0.0" /> <plugin id="org.eclipse.core.runtime" version="2.0.0" /> <plugin id="org.eclipse.debug.core" version="2.0.0" /> <plugin id="org.eclipse.debug.ui" version="2.0.0" /> <plugin id="org.eclipse.help" version="2.0.0" /> <plugin id="org.eclipse.help.webapp" version="2.0.0" /> <plugin id="org.eclipse.help.ui" version="2.0.0" /> <plugin id="org.eclipse.platform" version="2.0.0" /> <plugin id="org.eclipse.platform.doc.user" version="2.0.0" /> <plugin id="org.eclipse.search" version="2.0.0" /> <plugin id="org.eclipse.swt" version="2.0.0" /> <plugin id="org.eclipse.team.core" version="2.0.0" /> <plugin id="org.eclipse.team.cvs.core" version="2.0.0" /> <plugin id="org.eclipse.team.cvs.ssh" version="2.0.0" /> <plugin id="org.eclipse.team.cvs.ui" version="2.0.0" /> <plugin id="org.eclipse.team.ui" version="2.0.0" /> <plugin id="org.eclipse.tomcat" version="4.0.3" /> <plugin id="org.eclipse.ui" version="2.0.0" /> <plugin id="org.eclipse.ui.externaltools" version="2.0.0" /> <plugin id="org.eclipse.update.core" version="2.0.0" /> <plugin id="org.eclipse.update.ui" version="2.0.0" /> <plugin id="org.eclipse.update.ui.forms" version="2.0.0" /> </feature>