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