无标题文章

Eclipse平台结构

背景介绍

Eclipse是一种通用的工具平台,本身是由IBM捐献并成立的Eclipse基金会的,所以IBM很多的产品线都是基于Eclipse平台的,如RTC,DS等产品.Eclipse的目标是能成为所有语言开发的IDE,之所以如此,得益于Eclipse体系结构中的插件机制。

Eclipse目标

1.支持各种应用开发工具的构建。
2.支持无限的工具提供者,包括独立软件供应商(ISV)。
3.支持可操做任意内容类型的工具 (例如,HTML、Java 、C、JSP、EJB、XML 和GIF )。
4.能在各种操作系统下运行,包括Windows 和Linux 。
  Eclipse最大的特点是可扩展,为了实现这个特征,Eclipse采用了插件机制进行扩展,插件可以针对不同语言编程开发,不同业务逻辑进行服务。

Eclipse插件特点

1.插件是Eclipse 平台下最小的可单独开发和发布的功能单元。
2.插件一般都是用Java 编写一个JAR 文件,里面包括了Java 代码、一些只读文件和 其他资源,如 Web 模板、消息目录和本地代码库等。有的插件甚至没有代码。例如,提供HTML 页面格式的在线帮助的插件。
3.每个插件都有一个声明自身与其他插件的关联关系的清单文件。关联模型很简单:一个插件声明任意 个命名的扩展点,同时声明任意 个对其他插件的扩展点。
4.插件的扩展点可以被其他插件扩展。例如,工作台插件给用户声明了一个扩展点首选项,任意插件通过定义该扩展点的扩展来添加自己的用户首选项。一个扩展点可能有一 个对应的应用程序接口。其他插件通过扩展该扩展点实现这个接口。所有的插件都可以定义新扩展点并为其他插件提供新的应用程序接口。

Eclipse平台结构图

Eclipse平台的核心是“Platform Runtime”,它是一个微内核,在微内核上也就是PR上进行插件扩展,其它所有的功能如日常的Workspace,Workbench等都是以插件的形式提供的。Workbench插件完成界面的外观显示, Workspace负责工作区资源的管理等,其中的示意图如下。


结构解析

  1. 平台运行时:Platform Runtime 平台运行库是内核,它在启动时检查已安装了哪些插件,并创建关于它们的注册表信息。即在eclipse运行时发现和管理插件。为降低启动时间和资源使用,它在实际需要任何插件时才加载该插件。除了内核外,其他每样东西都是作为插件来实现的
  2. 工作空间:Workspace 工作区是负责管理用户资源的插件。这包括用户创建的项目、那些项目中的文件,以及文件变更和其他资源。工作区还负责通知其他插件关于资源变更的信息,比如文件创建、删除或更改。
    3.工作台:Workbench 工作台为Eclipse提供用户界面。它是使用标准窗口工具包(SWT)和一个更高级的 API(JFace)来构建的;SWT 是 Java 的 Swing/AWT GUI API 的非标准替代者,JFace 则建立在 SWT 基础上,提供用户界面组件。
    插件可以扮演双重角色,其他插件服务的使用者和其他插件服务的提供者

启动流程

Eclipse Paltform Runtime核心处理启动,搜索查找被安装在磁盘上的以插件形式存在的工具,匹配这些功能插件上扩展点所提供的扩展服务,构造全局的插件注册库,并能够缓存下次将用到的已注册的插件。Eclipse Platform启动之后,提供了一个基于插件的集成开发环境,用户可以在这个平台上开发新的插件完成更强大的功能或开发应用程序

Platform Runtime(PR)

Eclipse可以认为是一个PR+插件s,PR负责管理,发现,启动已经安装的插件,当用户选择了插件的功能,PR会负责载入和初始化插件。
  Eclipse平台运行时发现插件的过程如下:

  • Eclipse的PR在plugin.xml文件中查找插件的声明,每个plugin.xml文件都在各插件的子目录中,这些插件位于Eclipse 安装目录下名为plugins 的公共目录(Eclipse\plugins )。


  • Eclipse平台在启动这些文件的时候,在内存中构建全局注册表,通过全局注册表,给定的插件就可以运行时候确定其他哪些插件希望扩展。
  • 希望被其他插件扩展的插件都会声明一个扩展点。这是插件的某种“电源板”,通过 对插件声明扩展,其他插件就可以利用这个插件。通过事先确定可用的插件,并通过插件间信息交换而不激活它们,平台就可以为每个插件提供丰富的关于它运行的上下文的相关信息。

Eclipse基础插件

Eclipse的每个子系统本身是由某些关键功能的一组插件构建的。


参考声明

 魏楚元, 李陶深, 张增芳. Eclipse:基于插件的下一代通用集成开发环境[J]. 计算机应用与软件, 2005, 22(6):38-40.    
 网上搜索资料
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,580评论 18 139
  • 1.要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的? ①Item布局,层级越少越好,使用hie...
    fozero阅读 707评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,391评论 25 707
  • [TOC] ##Assoc 显示或修改文件扩展名关联 Assoc [.Ext[=[Filetype]]] .Ex...
    btijjj阅读 330评论 0 1
  • 野兽编者按:巧。当我看完丢卡小姐的文章,退出来就看到她在后台的回复,于是跟她分享了我看完《四食0.1》以后的感受。...
    晏某人阅读 275评论 2 0