0

我知道在创建 Eclipse 插件时使用 Eclipse 作为目标平台和使用 Equinox 作为目标平台之间的区别(也在这个线程中进行了解释)。

现在我已经实现了我的第一个 OSGi 服务,用于我的 Eclipse RCP 应用程序。我注意到我的课程中import需要的 s来自包。这似乎并没有告诉我任何关于我正在使用的实际 OSGi 规范实现的信息(或者是吗?)。Activatororg.osgi

所以我开始查资料,从RCP FAQ page开始,上面写着:

╔═════════════════╦═══════════════════════════╦═══════════════════════════╗
║    Component    ║        Description        ║         Plug-ins          ║
╠═════════════════╬═══════════════════════════╬═══════════════════════════╣
║ Eclipse Runtime ║ Provides the foundational ║ org.eclipse.core.runtime  ║
║                 ║ support for plug-ins,     ║ org.eclipse.osgi          ║
║                 ║ extension points and      ║ org.eclipse.osgi.services ║
║                 ║ extensions (among         ║                           ║
║                 ║ other facilities).        ║                           ║
║                 ║ The Eclipse runtime       ║                           ║
║                 ║ is built on top of        ║                           ║
║                 ║ the OSGi framework.       ║                           ║
╚═════════════════╩═══════════════════════════╩═══════════════════════════╝

然后在核心主页上

  • org.eclipse.core.runtime - 以前是平台的基础,这个插件在很大程度上被 Equinox 运行时所取代。

因此,提到了两个不同的运行时在使用中,没有一个出现在imports.

你能告诉我我正在使用哪种实际实现吗?是因为 Equinox 现在是 RCP 附带的标准 OSGi 规范实现吗?这是我最好的猜测,而且提到 Eclipse 运行时构建在 OSGi 框架之上是稍微过时的信息。

还是我全都错了?总是有可能:)。

谢谢!

4

2 回答 2

3

是的,它是春分。Eclipse OSGi 实现称为 Equinox。随着时间的推移,事情已经从 org.eclipse.core.runtime 插件转移到 Equinox 的东西中。Eclipse 没有其他单独的运行时,而且自 Eclipse 3.0 以来,它已在 Equinox 上构建多年。

于 2012-05-16T15:27:52.533 回答
3

Export-Package每个org.osgi包的语句都有一个版本属性。这将告诉您该软件包的规范版本。

Equinox 3.7 是 OSGi Core 4.3 文档中 Framework 1.6 规范的 RI。

于 2012-05-16T17:18:45.243 回答