基于 Eclipse 的产品是使用 Eclipse 平台构建的独立程序。产品可选择作为一个或多个功能部件打包并交付,这只是作为单个实体由 Eclipse 更新机制管理的插件的组合。
产品包括运行它们所需的所有代码和插件。这包括 Java 运行时环境(JRE)和 Eclipse 平台代码。插件代码、JRE 和 Eclipse 平台通常与特定于产品的安装程序安装在一起。产品提供程序使用所需的任何安装工具或程序都是免费的。
一旦安装完成,用户启动产品,将显示为产品所支持目的(如 Web 开发、C++ 程序开发或任何其它目的)特别配置的 Eclipse 工作台。该平台简化了配置标签、“关于”对话框、图形和闪屏,这样,用户不会有平台工作台的概念,而是将工作台看作产品本身的主窗口。
这样一个产品的顶级目录结构看上去有点象 Windows 平台上安装的称为“AcmeWeb”的假想产品的目录结构:
acmeweb/ acmeweb.exe (product executable) eclipse/ (directory for installed Eclipse files) .eclipseproduct (marker file) eclipse.exe startup.jar configuration/ config.ini jre/ features/ (installed features if any) com.example.acme.acmefeature_1.0.0/ feature.xml ... plugins/ com.example.acme.acmefeature_1.0.0/ plugin.xml about.ini about.html about.mappings about.properties acme.png splash.jpg com.example.acme.acmewebsupport_1.0.0/ ... links/ ...
实际上有两种方法可用来在 Eclipse 中定义产品。首选机制是使用产品扩展点(Eclipse 3.0 的新增内容)。此扩展点允许您定义产品并定制品牌,例如,闪屏和窗口图标等等。较旧的机制(在 Eclipse 2.1 中使用的机制)使用功能部件,而且还特别假定存在主要功能部件。实际上 Eclipse 3.0 使用的是产品扩展点机制,但又提供了兼容性功能以在必要时将旧定义集成到新模型中。
我们来看看这两种机制以及如何使用它们来定制产品。即使使用了产品扩展点机制,仍然可以使用功能部件来组合由更新管理器交付的功能。在下面几个主题中,我们将假定除产品定义外,插件中还存在功能部件组合。