系列文章目录
文章目录
前言
Eclipse运行时定义了所有其他插件所依赖的插件(org.Eclipse.osgi和org.Eclipse.core.runtime)。运行时负责定义插件的结构及其背后的实现细节(bundle和classloader)。运行时还负责查找和执行主Eclipse应用程序,并维护插件、插件扩展和扩展点的注册表。
运行时还提供各种实用程序,如日志记录、调试跟踪选项、适配器、首选项存储和并发基础设施。当然,作为一个最小的内核,只有在创建了使用它并执行某种任务的插件之后,运行时才是有趣的。与Atlas一样,运行时插件坚忍地位于插件堆的底部,将Eclipse宇宙高举在其稳定的肩膀上。
一、运行时插件模型
当用户启动使用Eclipse开发的应用程序时,平台运行时引擎就会启动。运行时实现平台使用的基本插件模型和基础设施。它跟踪所有已安装的插件及其提供的功能。
插件是一种结构化组件,它向系统提供代码(或文档,或两者兼有),并以结构化的方式对其进行描述。插件可以定义扩展点,即可以由其他插件扩展的定义良好的功能点。当插件为扩展点提供实现时,我们说它为平台添加了扩展。这些扩展和扩展点在插件的清单(plugin.xml)文件中声明。
使用通用扩展模型为插件提供了一种结构化的方式来描述它们可以扩展的方式,并为客户端插件提供了描述它们提供的扩展的方式。定义扩展点非常类似于定义任何其他API。唯一的区别是使用XML而不是代码签名来声明扩展点。同样,客户端插件使用XML来描述其对系统的特定扩展。
运行时的一个总体目标是,最终用