8

我刚开始使用 OSGi 和 Eclipse RCP。在创建新的 Eclipse 插件项目时,有人可以向我解释“Eclipse”和“Equinox”作为目标平台的区别吗?
我仍然知道 Equinox 是 Eclipse 的 OSGi 实现。
我在一些文章中读到 eclipse rcp 也是基于 Equinox 的。那么在新的 Eclipse 插件项目中你必须选择的目标平台有什么区别呢?

最好的祝福

4

2 回答 2

7

选择“一个 OSGi 框架”:这只是创建一个新的包,不需要插件或导入的包(除非您选择激活器,在这种情况下 org.osgi.framework 包显示在导入的包下)。

选择 Eclipse 版本:单击下一步后,向导会为您提供“此插件将对 UI 做出贡献”复选框,并允许您创建富客户端应用程序

如果没有任何其他选项,Eclipse 插件将 org.eclipse.core.runtime 作为必需的插件。如果您说插件将对 UI 做出贡献,则将 org.eclipse.ui 添加到所需的插件中。通过说您想创建一个富客户端应用程序,最终屏幕上的模板是不同的,您被迫选择一个来完成。此外,如果您没有选择 UI 选项,您的 Activator 将扩展插件;如果您选择了 UI 选项,您的 Activator 将扩展插件。

以这两种方式创建的包没有什么不同,向导只是为您设置了一些默认的必需插件/导入包。当然,正如 VonC 指出的,Eclipse 路由设置的一些依赖项可能与其他 OSGi 实现不兼容。

于 2011-02-02T22:46:15.613 回答
4

这是关于您将创建的模块将在其中运行的环境:请参阅此

Eclipse Equinox 是 Eclipse IDE 和 Eclipse RCP 应用程序所基于的运行时环境
在 Eclipse 中,最小的模块化单元是插件。术语插件和捆绑包(几乎)可以互换。Eclipse 插件也是一个 OSGi 包,反之亦然。

替代文字

  • 用于 OSGi 的捆绑包,能够在 Equinox 框架中运行(在 Eclipse 内部或外部)
  • Eclipse 插件,用于在基于 Eclipse 的应用程序中运行。

请参阅Equinox 快速入门指南

Equinox OSGi 框架实现构成了 Eclipse RCP 和 IDE 平台的基础,但它实际上是一个完全独立的 OSGi 实现。

您可以独立于 Eclipse 运行一个包:

java -jar org.eclipse.osgi_3.2.0.jar -console

一旦运行,您将看到一个osgi>提示。这是等待您输入命令的 OSGi 控制台

于 2010-09-12T15:57:31.067 回答