2012-10-01 69 views
0

這裏是我簡要的環境背景。在ServiceMix下運行的Jetty中設置ContextPath(OSGI)

我想通過使MANIFEST.MF如下所示,並希望在ServiceMix中部署一個基於OSGi的容器,將myapp WAR轉換爲兼容的OSGi。

MANIFEST.MF

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異常中的'null'字符串。

日誌:

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

我在web.xml中MYAPP是:

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

是它的myapp或碼頭或ServiceMix的問題?任何線索?

回答

0

您需要通過清單來設置網絡的contextPath,而不是通過web.xml 更多信息,看看Pax-Web