Jsf 2 WebSphere8上的JSF2和primefaces 3.4

Jsf 2 WebSphere8上的JSF2和primefaces 3.4,jsf-2,primefaces,Jsf 2,Primefaces,我已经用jsf2、PrimeFaces3.4和Tomcat7创建了web动态项目。应用程序运行良好。如果我在Websphere8而不是Tomcat7上部署同一个项目的EAR,我会遇到异常。我不确定发生了什么。我不熟悉JSF2和Wepshere8 您能否提供有关如何在WebSphere8上启动示例jsf2+primefaces项目的链接 提前谢谢 明白了。尝试在web.xml中添加com.sun.faces.config.ConfigureListener而不是org.apache.myfaces

我已经用jsf2、PrimeFaces3.4和Tomcat7创建了web动态项目。应用程序运行良好。如果我在Websphere8而不是Tomcat7上部署同一个项目的EAR,我会遇到异常。我不确定发生了什么。我不熟悉JSF2和Wepshere8

您能否提供有关如何在WebSphere8上启动示例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> 

com.sun.faces.config.ConfigureListener

要解决WebSphere8.5类中primefaces的类加载器问题,请替换jsf jsfapi jsf impl javaee api 用于websphere的本机实现 MyFacesAPI
myfaces impl

对于使用不同的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

使用JSF2实现

1.确保从应用程序中删除servlet.jar。它需要tomcat,但在websphere中不需要

2.将ear的类加载器策略更改为parent last。parent last表示应用程序中的库将具有更高的优先级。如果未找到,将从WAS类路径加载

3.还要确保将webmodule类加载器策略更改为parent last


4.重新启动websphere。

您会遇到什么异常?你能分享一下吗?hello harish.raj java.lang.IllegalStateException:没有为此应用程序配置工厂。如果faces初始化根本不起作用,则会发生这种情况-确保正确包含基本faces应用程序所需的所有配置设置,并且包含所有必要的LIB。还要检查web应用程序和容器的日志输出是否存在任何异常!一个典型的配置如下所示;org.apache.myfaces.webapp.StartupServletContextListener在javax.faces.FactoryFinder.getFactory(FactoryFinder.java:196)在org.apache.myfaces.context.servlet.FacesContextImplBase.getApplication(FacesContextImplBase.java:131)在将来的问题中,永远不要忽略异常,就好像它们是装饰一样。它们代表了具体问题的全部答案。如果你不能解释它们,你不应该忽略它们,而是将它们全部复制粘贴到你的问题中。通过这种方式,我们可以用外行的术语为您翻译它们,以便您能够根据异常中提供的信息解决问题。添加上述侦听器后..未初始化的stacktrace from failed start。。。com.sun.faces.config.ConfigurationException:源文档:原因:无法创建“com.sun.faces.application.resource.ResourceHandlerImpl”的新实例:java.lang.NullPointerException atcom.sun.faces.config.processor.AbstractConfigProcessor.createInstance(AbstractConfigProcessor.java:289)com.sun.faces.config.processor.ApplicationConfigProcessor.setResourceHandler(ApplicationConfigProcessor.java:748)com.sun.faces.config.processor.ApplicationConfigProcessor.processor(ApplicationConfigProcessor.java:306)com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:110)你能解释一下为什么要添加listener类吗。或者为我提供任何链接,以便我可以通过。。它目前对我来说是一个黑匣子,我不知道我的代码中发生了什么。@shrekanth,pl确保您已经在WEB-INF/lib文件夹中添加了所有jar文件。我添加的原因是,Tomcat将理解构建路径中可用的JAR。但是他不能。您需要使用内置监听器和lib文件夹中的所有jar文件才能使其工作。就是这样。我在这里注意到的另一件事是,我删除了jar文件jsf-api-2.03和jsf-impl-2.03,并重新部署了ear,通过运行WAS 8的管理控制台和jsp和jsf选项下myfaces的选定选项,应用程序运行良好。现在我再次添加了我删除的jar文件,并重新部署了ear错误再次出现。。WAS8中是否有默认的jsf JAR???我们不应该在prject下的lib文件夹中添加JSFJAR吗?请回答这个问题。用户询问WebSphere8,您提到的是WebSphere8.5