【问题标题】:How to start Jetty as a OSGI bundle with JSP support?如何将 Jetty 作为具有 JSP 支持的 OSGI 包启动?
【发布时间】:2014-08-18 04:53:41
【问题描述】:

我正在使用 Felix 框架将 Jetty 9.2 作为 osgi 包运行。在命令提示符下,Apache Felix 的启动方式类似于

java -Djetty.home=C:/osgiJars/jetty-osgi-boot-9.2.0.M0/jettyhome -jar bin/felix.jar

我的码头家是这样的

启动 felix 框架后,在命令提示符中我可以看到加载到 ACTIVE 状态的捆绑包列表。

现在,我正在尝试将示例 Web 应用程序(JSP + Servlets)加载为 OSGi 包。我收到类似(在 cmd 提示符中)的错误

g! 2014-06-27 11:56:03.129:INFO:/WebApp:qtp31392457-30: No JSP support.  Check that JSP jars are in
lib/jsp and that the JSP option has been specified to start.jar

我知道要配置 JSP 支持,您需要在启动 Jetty 服务器时设置选项,例如 JETTY.OPTIONS= Server,jsp

所以,我在设置 Jetty 时尝试过

java -Djetty.home=C:/osgiJars/jetty-osgi-boot-9.2.0.M0/jettyhome -Djetty.options=Server,jsp -jar bin/felix.jar

但仍然出现同样的错误。任何人都可以建议我在这种情况下如何配置我的 JSP..?

【问题讨论】:

    标签: jsp jetty osgi


    【解决方案1】:

    从未尝试为此单独运行 jetty,尽管有两个框架支持 OSGi HttpService 等等。这些是 OPS4j Pax Web 和 Felix HttpService,因为我有点偏见,看看 Pax Web。它确实提供了您开箱即用的所有内容,并经过测试。它还使用 Jetty 作为底层服务器。还有很多 samples 可以使用它。或者如果需要 integration tests 来展示如何实际使用它。
    Pax Web 在 OSGi 的精神下是模块化的,所以如果你只需要一个 HttpService,你将只使用 Pax-Web-API、Pax-Web-SPI、Pax-Web-Runtime 和 Pax-Web-Jetty 所需的包。捆绑包(已经包含 Jetty 捆绑包)或者如果更喜欢 Pax-Web-Jetty + jetty 捆绑包。如果您想使用 JSP,请添加它的支持包(这将是 Pax-Web-JSP),也许添加白板支持并且您已设置好(Pax-Web-Extender-Whiteboard)。如果需要,您还可以使用 wars/wabs (Pax-Web-Extender-War)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-21
      • 1970-01-01
      • 2015-03-27
      • 2019-04-02
      • 2017-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多