我用 jsf2、Primefaces 3.4、Tomcat7 创建了 web 动态项目。应用程序运行良好。如果我在 Websphere8 而不是 Tomcat7 上部署同一项目的 EAR,我会收到异常。我不确定发生了什么。我是 JSF2 和 Wepshere8 的新手。
您能否提供有关如何在 Websphere 8 上启动示例 jsf2 + primefaces 项目的链接
提前致谢。
我用 jsf2、Primefaces 3.4、Tomcat7 创建了 web 动态项目。应用程序运行良好。如果我在 Websphere8 而不是 Tomcat7 上部署同一项目的 EAR,我会收到异常。我不确定发生了什么。我是 JSF2 和 Wepshere8 的新手。
您能否提供有关如何在 Websphere 8 上启动示例 jsf2 + primefaces 项目的链接
提前致谢。
知道了。尝试在 web.xml 中添加 com.sun.faces.config.ConfigureListener 而不是 org.apache.myfaces.webapp.StartupServletContextListener,重新启动服务器然后运行它。
代码应如下所示。
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
对于使用 JSF 的不同实现,WebSphere Application Server JSF 引擎从应用程序服务器运行时确定是使用 SUN RI 还是 Apache MyFaces。在 JSF 引擎确定所使用的实现之后,正确的侦听器类将注册到 Web 容器。您不需要将 com.sun.faces.ConfigureListener 或 org.apache.myfaces.StartupConfigureListener 添加到 web.xml 文件中。
请看上面...
我也面临同样的问题。Websphere 默认支持 sun impl 和 apache myfaces 及其 jsf 1.2。
使用 jsf 2 实现。
1.确保从您的应用程序中删除 servlet.jar。它需要 tomcat 但不在 websphere 中。
2.将ear的类加载器策略更改为最后一个父级。最后一个父级意味着您的应用程序中的lib将具有更高的优先级。如果找不到将从WAS类路径加载。
3.还要确保将 webmodule 类加载器策略更改为最后一个父级。
4.重启websphere。
为了解决 websphere 8.5 中 primefaces 的类加载器,将 jsf jsf-api jsf-impl javaee-api替换 为 websphere myfaces-api myfaces-impl的本机实现