0

这是我的环境背景。

我正在尝试通过使 MANIFEST.MF 如下所示将 myapp WAR 转换为 OSGi 兼容,并希望在 ServiceMix 中部署此战争基于 OSGi 的容器。

清单文件

Manifest-Version: 2.0
Bundle-SymbolicName: myapp
Bundle-Version: 2.1.dev
Bundle-Name: Jetty.myapp
Bundle-Vendor: ABC
Created-By: 1.6.0_25-b06 (Sun Microsystems Inc.)
Bundle-ClassPath: .,WEB-INF/lib, WEB-INF/classes, xforms/xsltforms
Web-ContextPath: myapp
Webapp-Context: myapp
Import-Package: javax.servlet
Built-By: root
Project-Name: ABC_PRJ
Project-Version: 2.1.dev
Project-Build: ${DSTAMP}
SVN-Revision: ${svn.revision}

ContextPath 被设置为 null,我应该在哪里设置 contextPath 以及如何设置?您可能会在 FileNotFound Exception 中观察到“null”字符串。

日志:

java.io.FileNotFoundException: null/WEB-INF/myForms-config.xml (No such file or
        directory)

我在 myapp 中的 web.xml 是:

<contextPath>/</contextPath>
<context-param>
      <param-name>myForms.configfile</param-name>
      <param-value>WEB-INF/myForms-config.xml</param-value>
</context-param>

是 myapp 或 jetty 或 serviceMix 的问题吗?有什么线索吗?

4

1 回答 1

0

您需要通过 Manifest 而不是通过 web.xml 设置 web-contextpath 以获取更多信息,请查看Pax-Web

于 2012-10-02T07:15:58.243 回答