探索Eclipse的OSGi控制台 - 编程入门网
探索Eclipse的OSGi控制台时间:2011-02-22 Chris Aniszczyk从 V3.0 开始,Eclipse 通过选择开放服务网关协议(Open Services Gateway Initiative,OSGi)来替换先前版本中不稳定的 Eclipse 插件技术,从而实现了一次巨大飞跃。这次转变对于用户来说几乎是透明的,因为现在所使用的插件的安装和操作看上去和以前的插件没有什么不同。 图 1. Eclipse 内的插件 由于 Eclipse 现在是在 OSGi 上构建的,因此我们在图 1 中看到的插件是功能完整的 OSGi 包。(图 2 显示了使用 OSGi 控制台运行 Eclipse 实例内的包。)通过使用 OSGi,Eclipse 支持业内认可的开放标准并且现在可以利用 OSGi 提供的功能,包括安全性、HTTP 服务、用户管理和其他功能。Eclipse 对 OSGi 的使用已经见到成效,因为我们看到插件间报告的冲突在减少而 Eclipse 的应用在持续增加。 图 2. Eclipse 内的 OSGi 包 Eclipse、Equinox、OSGi,天哪! OSGi Alliance 是一个独立的、非盈利性组织,负责 OSGi 技术,类似于 Eclipse Foundation 的职能。OSGi Alliance 负责制定描述 OSGi 技术的规范。简言之,OSGI 技术为应用程序开发提供了一种面向服务的基于组件的平台。各种实现都是基于这些规范的。最常见的一个实现是 Equinox,它是 Eclipse 的规范实现。OSGi 的另一个常见实现是 Apache 的 Felix 项目。 在我们继续之前,本文假定您具有 Eclipse 和 OSGi 方面的工作经验。如果不具备的话,建议先阅读 Scott Delap 的文章 “了解 Eclipse 插件如何使用 OSGi”,然后再来研究 OSGi 控制台。 创建 OSGi 包 这次冒险的第一步是使用 插件开发环境(Plug-in Development Environment,PDE)在 Eclipse 中创建一个简单的 OSGi 包。为此,需要使用 PDE 创建一个新的插件项目(File > New > Project > Plug-in Project)。在创建新的插件项目的过程中,确保设定正确的选项。首先,选择插件目标平台作为 OSGi Framework,具体来说就是 Equinox。最后,为了简短起见,使用 PDE 提供的 Hello OSGi Bundle 模板(参见图 3)。我们现在创建好了将在本文中使用的包。 图 3. PDE Hello OSGi bundle 向导 探索Eclipse的OSGi控制台(2)时间:2011-02-22 Chris AniszczykHello OSGi 控制台 现在我们已经有了自己的 Hello 包,可以继续并启动框架以获得 OSGi 控制台。要启动框架,我们可以利用 PDE 的 OSGi Framework 启动配置。首先,转至启动配置菜单(Run > Run ...)并为 Hello 包创建一个 OSGi Framework 启动配置(参见图 4)。此外,确保仅选择运行 Hello 包所需的必要的包。完成此操作的一种简单方法是在启动配置中按 Deselect All 键并选中 Hello 包,接下来按 Add Required Plug-ins 键。 图 4. PDE 的 OSGi Framework 启动配置 插件和包:有何区别? 每当走过 Eclipse 开发人员的聚集地,您总会听到人们在谈论着两个有魔力般的字眼:插件 和 包。两者有区别么?在营销副总裁看来,两个术语是同义的。包是插件,插件就是包。我们似乎一直在交替地使用这两个术语。但是,从专业的视角来看,事情并非如此。准确地说,Eclipse 插件是利用扩展注册表的 OSGi 包(即,包的根目录中有 plug-in.xml)。而 OSGi 包就是 OSGi 包。 完成启动配置并准备就绪之后,可以使用启动配置对话框中的 Run 按钮来启动我们的包。完成后,应当会看到类似图 5 的结果。 在图 5 中,我们看到 Hello 包已启动(使用控制台中打印的 HelloWorld 消息,表示包已被启动)并且看到 osgi> 提示符。OSGi 提示符类似于 DOS 或者 Bash 提示符,可以在提示符处输入对 OSGi 实例起作用的命令。在本例中,发出 ss 命令,该命令将快速显示所有内容的状 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |