如何使用JSP支持将Jetty作为OSGI包启动?
我使用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 ..?
从来没有尝试过为此独立运行jetty,尽管OSGi HttpService支持有两个框架以及更多。 这些是OPS4j Pax Web和Felix HttpService,因为我有点偏见,请看Pax Web。 它确实提供了你需要的所有东西,并进行了测试。 它还使用Jetty作为底层服务器。 还有很多样品可以用来解决它。 或者如果需要集成测试以展示如何实际使用它。
Pax Web本着OSGi的精神是模块化的,所以如果你只需要一个HttpService,你只需要使用Pax-Web-API,Pax-Web-SPI,Pax-Web-Runtime和Pax-Web-Jetty-捆绑包(已包含Jetty捆绑包)或者如果希望Pax-Web-Jetty +捆绑包。 如果你想使用JSP,添加它的支持包(这将是Pax-Web-JSP),并且可能是添加白板支持的那个,并且你被设置了(Pax-Web-Extender-Whiteboard)。 如果需要,你也可以使用战争/工作(Pax-Web-Extender-War)。
上一篇: How to start Jetty as a OSGI bundle with JSP support?
下一篇: What is the use of converting jars to bundles in WAB(OSGI)?