2015-10-27 41 views
2

我想讓org.apache.felix.http.jetty軟件包工作以向我的OSGi環境提供HTTP服務。Servlet-API軟件包不提供JavaServlet功能 - felix.http.jetty無法運行

我還部署了servlet-api包,它導出版本化的包,但沒有提供JavaServlet功能(因爲它可能應該基於參考合同上的OSGi Alliance頁)。

下面是在所有未指定Provide-Capability頭是servlet-API束

Export-Package: javax.servlet;uses:="javax.servlet.descriptor,javax.se 
rvlet.annotation";version="3.1.0",javax.servlet.descriptor;version="3 
.1.0",javax.servlet.annotation;uses:="javax.servlet";version="3.1.0", 
javax.servlet.http;uses:="javax.servlet";version="3.1.0" 
Implementation-Version: 3.1.0 
Specification-Vendor: Oracle Corporation 
Bundle-Name: Java Servlet API 
Bundle-Vendor: GlassFish Community 
Import-Package: javax.servlet;version="3.1.0",javax.servlet.annotation 
;version="3.1.0",javax.servlet.descriptor;version="3.1.0",javax.servl 
et.http;version="3.1.0" 

的清單的一部分。

所以,當我開始OSGi容器,它抱怨此錯誤:

Unresolved requirements: [[org.apache.felix.http.jetty [28](R 28.0)] 
    osgi.contract; (&(osgi.contract=JavaServlet)(version=3.1))] 

任何人都知道這可怎麼固定?

+0

通過創建一個使servlet-api包提供JavaServlet功能的片段包來實現它。但這很不好。 – Renato

回答