我的目的是在 OSGI 框架上运行 JSF 应用程序。因此,我正在尝试将 WAR 文件部署到 OSGi Web 应用程序的 servlet 容器,称为 PAX-WEB。我有一个在 WildFly 8.0 应用服务器上正常工作的 JSF 实现。我从这个应用程序成功地创建了 OSGi 化的 WAR 文件。当我尝试使用 Maven 将其部署到 PAX-WEB 时,会发生以下错误:
缺少要求:javax.servlet.annotation
/lib
我的应用程序文件夹中有这些 JAR : jsf-api-2.1.7
, jsf-impl-2.1.7
, jsp-api-2.1
, jstl-1.2
. 当我添加javax.servlet-api-3.0.1.jar
到我的 WAR 文件并重新部署它时,这次会发生以下错误:
javax.faces.webapp.FacesServlet 不能转换为 javax.servlet.Servlet
有了这个错误,我可以运行我的 JSF 页面,但它没有显示 JSF 标记。