将功能相近的插件放在一个功能部件中,使程序更加模块化、结构化。
2.功能部件本身不包含任何编码(java代码),在 Eclipse 体系结构术语中,功能部件是将一组相关插件打包到完整的产品中。
例如,JDT 是包含了象 Java 编辑器、调试器和控制台这样的插件的功能部件。名为 feature.xml 的清单文件描述了一个功能部件归档文件。
在其中,该清单文件包含了对该功能部件所包含的插件和其它资源的引用、关于如何更新该功能部件的信息、版权信息和许可证信息。
3.如果没有功能部件,插件是难以驾驭的,通俗地说,不属于功能部件的插件是未被管理的插件。Eclipse 平台的启动过程包括一个配置的步骤。如果一个新的插件被拷贝到 \plugins 目录,或者以其他方式使 Eclipse 在启动的时候可以找到,配置过程会发现它,但只是通过将新插件的 splash 图标闪烁两次来通知您。E
clipse 之所以会发现新的插件,是因为存贮在 \.metadate\.config\platform 中的当前工作区的配置校验和发生了变化;由于您没有向平台提供一个可以引导用户做出配置修改的功能部件,Eclipse 也只能是通过 splash-flash 来提示这一变化。将您的插件打包为一个(或两个)功能部件,您将获得如下好处:
* 在 Eclipse 的配置过程中列出您的组件(在 feature.xml 文件中)所要求的先决条件
* 使您的组件可以作为 Eclipse 配置的活动部分来管理
* 创建标记信息,让使用那些使用运行期环境的用户可以识别您的组件,并通过一个欢迎页面来告知用户您的功能部件所提供的功能(在关联到您的功能部件的 welcome.xml 文件中)
* 用 Eclipse 更新管理器可以对您的组件进行修改
4.不要等到您的插件开发完成后再打包为功能部件。反映在功能部件定义中的设计结果会影响您如何构建您的插件。例如,大多数的 Eclipse 组件都有 UI 功能部件和核心(不是 UI)功能部件。如果您的插件没有按这种方法进行划分,您可能会马上考虑重新设计它们。功能部件也可以用来自动编译处理被引用的插件。
5.eclipse平台内置的几个Feature项目
1.org.eclipse.rcp //囊括了RCP开发所需要的插件
2.org.eclipse.help //囊括帮助系统需要依赖的插件
3.org.eclipse.equinox.p2.user.ui
6.通过feature方式导出RCP产品
RCP导出的方式分两种plusi-ins方式和feature方式,相较前者,后者(feature方式)能够更好地对插件进行管理和配置。