我刚开始使用 OSGi 和 Eclipse RCP。在创建新的 Eclipse 插件项目时,有人可以向我解释“Eclipse”和“Equinox”作为目标平台的区别吗?
我仍然知道 Equinox 是 Eclipse 的 OSGi 实现。
我在一些文章中读到 eclipse rcp 也是基于 Equinox 的。那么在新的 Eclipse 插件项目中你必须选择的目标平台有什么区别呢?
最好的祝福
我刚开始使用 OSGi 和 Eclipse RCP。在创建新的 Eclipse 插件项目时,有人可以向我解释“Eclipse”和“Equinox”作为目标平台的区别吗?
我仍然知道 Equinox 是 Eclipse 的 OSGi 实现。
我在一些文章中读到 eclipse rcp 也是基于 Equinox 的。那么在新的 Eclipse 插件项目中你必须选择的目标平台有什么区别呢?
最好的祝福
选择“一个 OSGi 框架”:这只是创建一个新的包,不需要插件或导入的包(除非您选择激活器,在这种情况下 org.osgi.framework 包显示在导入的包下)。
选择 Eclipse 版本:单击下一步后,向导会为您提供“此插件将对 UI 做出贡献”复选框,并允许您创建富客户端应用程序
如果没有任何其他选项,Eclipse 插件将 org.eclipse.core.runtime 作为必需的插件。如果您说插件将对 UI 做出贡献,则将 org.eclipse.ui 添加到所需的插件中。通过说您想创建一个富客户端应用程序,最终屏幕上的模板是不同的,您被迫选择一个来完成。此外,如果您没有选择 UI 选项,您的 Activator 将扩展插件;如果您选择了 UI 选项,您的 Activator 将扩展插件。
以这两种方式创建的包没有什么不同,向导只是为您设置了一些默认的必需插件/导入包。当然,正如 VonC 指出的,Eclipse 路由设置的一些依赖项可能与其他 OSGi 实现不兼容。
这是关于您将创建的模块将在其中运行的环境:请参阅此
Eclipse Equinox 是 Eclipse IDE 和 Eclipse RCP 应用程序所基于的运行时环境。
在 Eclipse 中,最小的模块化单元是插件。术语插件和捆绑包(几乎)可以互换。Eclipse 插件也是一个 OSGi 包,反之亦然。
请参阅Equinox 快速入门指南:
Equinox OSGi 框架实现构成了 Eclipse RCP 和 IDE 平台的基础,但它实际上是一个完全独立的 OSGi 实现。
您可以独立于 Eclipse 运行一个包:
java -jar org.eclipse.osgi_3.2.0.jar -console
一旦运行,您将看到一个
osgi>
提示。这是等待您输入命令的 OSGi 控制台