Javax.faces.render.RenderKitFactory[resolvido]

Olá pessoal,

Estou desenvolvendo minha primeira aplicação javaEE (com hibernate no tomcat) que utilize o Richfaces.

Fiz meu formulário normal utilizando somente hibernate e jsf puro e funcionou normal, pois fiz o deploy e cadastrei e fiz consultas. Mas quando adicionei as bibliotecas do richfaces e criei uma pagina .jsp com utilizando o richfaces não consegui nem dar o start da minha aplicação no Tomcat. Quando eu faço o deploy da minha aplicação e vou tentar acessar ela através do navegador da erro 404.

Abaixo esta as classes: web.xml, faces-config.xml, o erro de log do Tomcat(que é onde aparece o erro: Caused by: java.lang.ClassNotFoundException: javax.faces.render.RenderKitFactory), erro 404 no navegador e helloRich.jsp(é onde estou utilizando o richfaces).

Eu creio que o erro seja a falta mesmo desse RenderKitFactory, mas não achei na internet algo que fala-se dele.

Se alguém pode me ajudar eu agradeço. Obrigado

==========
web.xml

<?xml version="1.0" encoding="UTF-8"?>
<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">
  <display-name>AppJsf_sistemaFinanceiro</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.seam</url-pattern>
  </servlet-mapping>
  <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>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
  </servlet-mapping>
  <context-param>
  	<param-name>org.richfaces.SKIN</param-name>
    <param-value>blueSky</param-value>
  </context-param>
  <context-param>
	<param-name>org.richfaces.CONTROL_SKINNING</param-name>
	<param-value>enable</param-value>
  </context-param>
  <filter>
	<display-name>RichFaces Filter</display-name>
	<filter-name>richfaces</filter-name>
	<filter-class>org.ajax4jsf.Filter</filter-class>
  </filter>
  <filter-mapping>
	<filter-name>richfaces</filter-name>
	<servlet-name>Faces Servlet</servlet-name>
	<dispatcher>REQUEST</dispatcher>
	<dispatcher>FORWARD</dispatcher>
	<dispatcher>INCLUDE</dispatcher>
  </filter-mapping>
</web-app>

==========
faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xi="http://www.w3.org/2001/XInclude"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
 <converter>
  <converter-for-class>java.lang.Enum</converter-for-class>
  <converter-class>appjsf_sistemafinanceiro.conversores.EnumConverter</converter-class>
 </converter>
 <converter>
  <converter-for-class>appjsf_sistemafinanceiro.dominio.Pessoa</converter-for-class>
  <converter-class>appjsf_sistemafinanceiro.conversores.PessoaConverter</converter-class>
 </converter>
 <managed-bean>
  <managed-bean-name>cadastroContaBean</managed-bean-name>
  <managed-bean-class>appjsf_sistemafinanceiro.visao.CadastroContaBean</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
 </managed-bean>
 <managed-bean>
  <managed-bean-name>consultaContaBean</managed-bean-name>
  <managed-bean-class>appjsf_sistemafinanceiro.visao.ConsultaContaBean</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
 </managed-bean>
 <managed-bean>
  <managed-bean-name>helloRichBean</managed-bean-name>
  <managed-bean-class>appjsf_sistemafinanceiro.visao.HelloRichBean</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
 </managed-bean>
 <navigation-rule>
  <navigation-case>
   <from-outcome>cadastroConta</from-outcome>
   <to-view-id>/contas/cadastroConta.faces</to-view-id>
  </navigation-case>
  <navigation-case>
   <from-outcome>consultaConta</from-outcome>
   <to-view-id>/contas/consultaConta.faces</to-view-id>
  </navigation-case>
 </navigation-rule>
 <navigation-rule>
  <navigation-case>
   <from-outcome>menu</from-outcome>
   <to-view-id>/menu.jsp</to-view-id>
   <redirect/>
  </navigation-case>
 </navigation-rule>
 <navigation-rule>
  <navigation-case>
   <from-outcome>menu</from-outcome>
   <to-view-id>/menu.jsp</to-view-id>
   <redirect/>
  </navigation-case>
 </navigation-rule>
 <application>
  <message-bundle>appjsf_sistemafinanceiro.recursos.messages</message-bundle>
 </application>
</faces-config>

==========
erro 404

HTTP Status 404 -

type Status report

message

description The requested resource () is not available.
Apache Tomcat/6.0.32

==========
log do Tomcat

09/03/2011 16:56:00 org.apache.catalina.core.StandardContext listenerStart
GRAVE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.NoClassDefFoundError: javax/faces/render/RenderKitFactory
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	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.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1667)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:514)
	at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:405)
	at javax.faces.FactoryFinder.access$400(FactoryFinder.java:135)
	at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:717)
	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:239)
	at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:187)
	at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:132)
	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:204)
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:200)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704)
	at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1276)
	at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:625)
	at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:136)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:186)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException: javax.faces.render.RenderKitFactory
	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)
	... 47 more

==========
erro 404

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

<%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>

<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
		<title>Insert title here</title>
	</head>
	<body>
		<f:view>
			<h:form> 
				<rich:panel header="Ola RichFaces" style="width: 300px">
					<h:outputText value="Seu nome: " />
					<h:inputText value="#{helloRichBean.nome}"/>
					<a4j:commandButton value="Dizer ola" reRender="olaPainel" />
					
					<h:panelGroup id="olaPainel" layout="block">
						<h:outputText value="Ola, " rendered="#{not empty helloRichBean.nome}" />
						<h:outputText value="#{helloRichBean.nome}" /> 
						<h:outputText value="!" rendered="#{not empty helloRichBean.nome}" />
					</h:panelGroup>
				</rich:panel>
			</h:form>
		</f:view>
	</body>
</html>

Eu não estava utilizando a versão atualizada da JSF, agora saiu desse erro.

Estou usando a versão JSF 2.0