【问题标题】:After Jetty Update to 9.4.x: Missing Constraint: Require-Capability: osgi.extender; filter:="(osgi.extender=osgi.serviceloader.processor)"Jetty 更新到 9.4.x 后:缺少约束:Require-Capability: osgi.extender;过滤器:=“(osgi.extender=osgi.serviceloader.processor)”
【发布时间】:2017-10-02 04:03:55
【问题描述】:

从 Jetty 9.3.x 更新到 9.4.x 后,我在启动 OSGi 框架 启动时收到以下验证消息:

Missing Constraint: Require-Capability: osgi.extender; filter:="(osgi.extender=osgi.serviceloader.processor)"
Missing Constraint: Require-Capability: osgi.extender; filter:="(osgi.extender=osgi.serviceloader.registrar)"

我不知道我必须添加哪些捆绑包?

已包含在发布中(以及许多其他内容):

  • org.eclipse.jetty.client
  • org.eclipse.jetty.continuation
  • org.eclipse.jetty.deploy
  • org.eclipse.jetty.http
  • org.eclipse.jetty.io
  • org.eclipse.jetty.rewrite
  • org.eclipse.jetty.security
  • org.eclipse.jetty.server
  • org.eclipse.jetty.servlet
  • org.eclipse.jetty.servlets
  • org.eclipse.jetty.util
  • org.eclipse.jetty.webapp
  • org.eclipse.jetty.xml
  • org.eclipse.osgi
  • org.eclipse.osgi.services
  • org.eclipse.osgi.util

单击对话框中的“确定”后,服务器将启动且没有错误消息。
我希望这个问题会在 Jetty 9.4.5 中得到解决,但它仍然存在。

【问题讨论】:

  • 这是由于在 Jetty 所依赖的许多规范(OSGi 之外)中对java.util.ServiceLoader 的依赖增加。
  • java.util.ServiceLoader 是 JRE 1.8 的一部分,为什么会出现验证错误?
  • 感谢链接已修复。

标签: eclipse jetty osgi jetty-9


【解决方案1】:

看来您需要一个 OSGi Service Loader Mediator 规范的实现。试试 Apache Aries SPI Fly。

【讨论】:

    【解决方案2】:

    我必须下载以下三个捆绑包并将其添加到目标:

    Apache Aries SPI Fly 网站上所述,让 SPI 飞起来部分。

    因为我不想操纵字节码,所以我选择“用于动态编织”。

    有关该主题的更多信息可以在此blog 中找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-29
      • 2015-12-11
      • 2014-08-31
      • 1970-01-01
      • 2018-12-12
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多