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..

Was it helpful?

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]

OTHER TIPS

Include ajax4jsf-1.0.6.jar in your classpath

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top