技术开发 频道

探索Eclipse的OSGi控制台

Hello OSGi 控制台

现在我们已经有了自己的 Hello 包,可以继续并启动框架以获得 OSGi 控制台。要启动框架,我们可以利用 PDE 的 OSGi Framework 启动配置。首先,转至启动配置菜单(Run > Run ...)并为 Hello 包创建一个 OSGi Framework 启动配置(参见图 4)。此外,确保仅选择运行 Hello 包所需的必要的包。完成此操作的一种简单方法是在启动配置中按 Deselect All 键并选中 Hello 包,接下来按 Add Required Plug-ins 键。

PDE 的 OSGi Framework 启动配置

图 4. PDE 的 OSGi Framework 启动配置

插件和包:有何区别?

每当走过 Eclipse 开发人员的聚集地,您总会听到人们在谈论着两个有魔力般的字眼:插件 和 包。两者有区别么?在营销副总裁看来,两个术语是同义的。包是插件,插件就是包。我们似乎一直在交替地使用这两个术语。但是,从专业的视角来看,事情并非如此。准确地说,Eclipse 插件是利用扩展注册表的 OSGi 包(即,包的根目录中有 plug-in.xml)。而 OSGi 包就是 OSGi 包。



完成启动配置并准备就绪之后,可以使用启动配置对话框中的 Run 按钮来启动我们的包。完成后,应当会看到类似图 5 的结果。

在图 5 中,我们看到 Hello 包已启动(使用控制台中打印的 HelloWorld 消息,表示包已被启动)并且看到 osgi> 提示符。OSGi 提示符类似于 DOS 或者 Bash 提示符,可以在提示符处输入对 OSGi 实例起作用的命令。在本例中,发出 ss 命令,该命令将快速显示所有内容的状态。建议您在普通的 Eclipse 实例中尝试此命令,将发现所有内容只不过是隐藏着的一个 OSGi 包。要获得普通 Eclipse 实例的 OSGi 控制台,只需用 -console 参数启动 Eclipse。

首次启动

图 5. 首次启动

启动和停止包

在 OSGi 动态环境中,可以轻松地启动和停止包。要测试此操作,让我们使用简单的 Hello 包。只需用 stop 命令即可停止包,然后用 start 命令启动包。您应当会看到类似图 6 的结果。

启动和停止包

图 6. 启动和停止包

添加、删除和更新包

OSGi 系统的另一个强大的方面是能够在运行的 OSGi 实例中添加、删除和更新包 —— 所有操作均无需重新启动 Java? 虚拟机。图 7 演示了包的安装和卸载。

安装和卸载包

图 7. 安装和卸载包

错误诊断

有时在包或插件尝试启动的初始化过程中会发生错误。OSGi 控制台提供了一个有用的命令 —— diag —— 可以帮助您调试与包初始化相关的问题。例如,让我们来检验一下图 8,在尝试启动 Hello 包时,获得一个错误。为了帮助诊断错误,对包运行 diag 命令并将看到运行时环境中缺少一个导入包。

控制台错误诊断

图 8. 控制台错误诊断

0
相关文章