【问题标题】:Eclipse RCP OSGi Conflict org.mortbay.jettyEclipse RCP OSGi 冲突 org.mortbay.jetty
【发布时间】:2013-01-25 15:49:28
【问题描述】:

在启动我的 Eclipse RCP 应用程序时,我遇到以下错误:

!MESSAGE Bundle org.eclipse.equinox.http.jetty_2.0.0.v20090520-1800 [154] 未解决。 !SUBENTRY 2 org.eclipse.equinox.http.jetty 2 0 2013-01-21 17:31:55.618 !MESSAGE 包使用冲突:Import-Package: org.mortbay.jetty;版本="[6.1.0,7.0.0)"

这会导致问题,即在 RCP 应用程序中,帮助系统无法启动(由于 ClassNotFoundException)。

据我了解,捆绑包 org.mortbay.jetty 存在一些问题,因为它存在于错误版本或多个错误版本中。因此,我使用程序参数 -console 启动了我的 Eclipse RCP 应用程序,以获取 OSGi 控制台。

我输入

osgi> packages org.mortbay.jetty

了解此软件包的所有导入和导出。这给了我以下结果:

org.mortbay.jetty; version="6.1.15"<org.mortbay.jetty.server_6.1.15.v200905151201 [491]>

但这对我来说似乎没问题。显然,org.mortbay.jetty 是由 org.mortbay.jetty.server 导出的,它的导出版本是 6.1.15,在 [6.1.0,7.0.0) 的范围内。此外,当我的同事尝试启动应用程序时,他们也没有遇到任何问题。

我还尝试为 RCP 应用程序使用新的工作区,但这也没有帮助...我现在真的一无所知...

【问题讨论】:

    标签: eclipse-rcp osgi osgi-bundle


    【解决方案1】:

    问题已解决,在启动配置中,一些重要的插件没有被检查为启动。事实上,我需要从基于功能的配置切换到基于插件的配置。

    见:http://www.eclipse.org/forums/index.php/m/631827/

    【讨论】:

      【解决方案2】:

      前段时间我在码头遇到了同样的问题。

      解决方案:

      1) 如果您使用基于插件的 eclipse rcp 应用程序 -> 删除插件版本(主要/主要) 或

      2) 如果您使用基于功能的 rcp 应用程序 --> 确保设置 match="compatible"

      【讨论】:

      • 好吧,我真的不能那样做。我自己没有使用码头。 Eclipse 帮助 org.eclipse.equinox.http.jetty_2.0.0.v20090520-1800 依赖于 jetty。而且我无法更改 Eclipse 包中的依赖项。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 2018-09-09
      相关资源
      最近更新 更多