2

我有一个非常简单的 .WAR 包含示例 servlet。我可以使用以下命令在 servicemix 中部署它:

osgi:install file:///home/seiho/apache-servicemix-4.4.2/deploy/TestServlet.war?Bundle-SymbolicName=TestServlet&Webapp-Context=/TestServlet

然后在我的浏览器中查看。但只有文件的完整路径,例如:localhost:8080/TestServlet/index.html 或 localhost:8080/TestServlet/TestServlet(我的 servlet 是 TestServlet 类)。
我想在输入后自动启动 index.html 页面:localhost:8080/TestServlet

怎么做?



更重要
的是我需要一种方法来转换 .WAR 文件或 servlet 项目(我有源代码),以便可以通过将新的 .WAR 文件复制到 $SERVICEMIX_HOME/deploy 目录来自动部署它。

我尝试编辑 MANIFEST.MF 文件,但没有成功。可能我做错了什么。

感谢您的任何建议/帮助。

4

2 回答 2

0

要被识别为 wab,您需要在清单中添加上下文路径标头:

Web-ContextPath: TestServlet
于 2012-08-24T07:32:03.030 回答
0

它现在正在工作!我正在根据这个页面做我的 MANIFEST.MF:http: //team.ops4j.org/wiki/display/ops4j/Pax+Web+Extender+-+War+-+OSGi-fy

问题是由于某种原因需要“Bundle-Version:1.0”行,而不是该页面上所述的可选行。

老实说,只需添加 Bundle-Version 修复它。

我知道 MANIFEST.MF 出了点问题,在 Holly Cummins 提出问题后,我又玩了一会儿。谢谢霍莉。

我仍然无法手动启动站点(必须手动输入 index.html)。

http://localhost:8080/TestServlet/给了我这个:


HTTP 错误 404

访问 /TestServlet/ 时出现问题。原因:

Not Found

由码头提供支持://


http://localhost:8080/TestServlet/index.html给了我合适的网站。

于 2012-08-24T07:32:30.160 回答