JSF 1.2 , Richfaces 3.X and Jboss Server 5.0 : After Adding Richfaces JAR it's giving Error

StackOverflow https://stackoverflow.com/questions/17123210

Question

Simple JSF1.2 and Jboss Server 5.0 is working fine, but after adding a Richfaces 3.X JAR it's giving error. my application is not working.

Richfaces Jar

  • richfaces-api-3.3.2.SR1.jar
  • richfaces-impl-3.3.2.SR1.jar
  • richfaces-ui-3.3.2.SR1.jar

Please check below error log and please help in to this.

java.lang.ClassNotFoundException: org.ajax4jsf.Filter
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    at org.jboss.web.tomcat.service.TomcatInjectionContainer.newInstance(TomcatInjectionContainer.java:240)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:220)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:332)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:90)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3783)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4413)
    at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:367)
    at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:146)
    at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:460)
    at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
    at org.jboss.web.deployers.WebModule.start(WebModule.java:96)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
    at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
    at $Proxy36.start(Unknown Source)

Screenshot with package structure and web.xml

enter image description here

Please help me into this..

Était-ce utile?

La solution

  1. By default JBoss 5.0 contains JSF library at location - jboss-5.0.0.GA\server\default\deploy\jbossweb.sar\jsf-libs. You have to provide explicitly for JSF 2.0 at this location, if implementation requires it.

    • jboss-faces.jar
    • jsf-api.jar
    • jsf-impl.jar
  2. Also, you have to provide required JSF implementation specific jars during project deployment. Below is the \WEB-INF\lib content.

    • cssparser-0.9.5.jar
    • guava-13.0.1.jar
    • richfaces-components-api-4.3.2.Final.jar
    • richfaces-components-ui-4.3.2.CR1.jar
    • richfaces-core-api-4.3.2.Final.jar
    • richfaces-core-impl-4.3.2.Final.jar
    • sac-1.3.jar
  3. Altering namespace declaration and schema location in web.xml content

    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

    Also, remove filter/filter-mapping & add the below content.

      <context-param>
        <description>State saving method: 'client' or 'server' (=default). See JSF         Specification 2.5.2</description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
      </context-param>
    
      <context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>resources.application</param-value>
      </context-param>
    
      <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
      </listener>
    

[Note: I have verified with RichFaces 4.3.2, JBoss 5.0 & JSF 2.0. I presume it should work with the lower configuration]

Autres conseils

Include ajax4jsf-1.0.6.jar in your classpath

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top