产品和功能部件

基于 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 使用的是产品扩展点机制,但又提供了兼容性功能以在必要时将旧定义集成到新模型中。

我们来看看这两种机制以及如何使用它们来定制产品。即使使用了产品扩展点机制,仍然可以使用功能部件来组合由更新管理器交付的功能。在下面几个主题中,我们将假定除产品定义外,插件中还存在功能部件组合。