Problema ao inserir o RichFaces no JSF1.2(Mojarra) + Eclipse 3.5(JbossTools 3.5) + Tomcat 6

Bom dia,

Estou iniciando no JSF e tive um problema ao tentar colocar o RichFaces no meu projeto. A principio seguem as configurações:

web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 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-app_2_5.xsd"> <display-name>Financeiro</display-name> <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> <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> <listener> <listener-class>com.sun.faces.config.ConfigureListener</listener-class> </listener> <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>/faces/*</url-pattern> </servlet-mapping> <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> <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> <login-config> <auth-method>BASIC</auth-method> </login-config> </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>financeiro.conversores.EnumConverter</converter-class> </converter> <converter> <converter-for-class>financeiro.dominio.Pessoa</converter-for-class> <converter-class>financeiro.conversores.PessoaConverter</converter-class> </converter> <managed-bean> <managed-bean-name>cadastroContaBean</managed-bean-name> <managed-bean-class>financeiro.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>financeiro.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>financeiro.visao.HelloRichBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> <navigation-rule> <navigation-case> <from-outcome>cadastroConta</from-outcome> <to-view-id>/contas/cadastroConta.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>consultaConta</from-outcome> <to-view-id>/contas/consultaConta.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>menu</from-outcome> <to-view-id>/menu.jsp</to-view-id> </navigation-case> </navigation-rule> <application> <message-bundle>financeiro.recursos.messages</message-bundle> </application> </faces-config>

Bibliotecas usadas
[list]MojarraJSF 1.2
Tomcat 6.0.29
Hibernate 3.2
Apache Commons Logging 1.1.1
Apache Commons BeansUtils 1.8.3
Apache Commons Digester 2.1
RichFaces 3.3.3[/list]

E o erro que dá é este:

log4j:WARN No appenders could be found for logger (org.ajax4jsf.renderkit.ChameleonRenderKitFactory). log4j:WARN Please initialize the log4j system properly. 13/10/2010 08:54:57 org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:214) at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:199) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:785) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445) at org.apache.catalina.core.StandardService.start(StandardService.java:519) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:581) 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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) Caused by: java.lang.NullPointerException at org.apache.commons.digester.Digester.getXMLReader(Digester.java:1068) at org.apache.commons.digester.Digester.parse(Digester.java:1916) at org.ajax4jsf.resource.ResourceBuilderImpl.registerConfig(ResourceBuilderImpl.java:211) at org.ajax4jsf.resource.ResourceBuilderImpl.registerResources(ResourceBuilderImpl.java:155) at org.ajax4jsf.resource.ResourceBuilderImpl.init(ResourceBuilderImpl.java:226) at org.ajax4jsf.renderkit.ChameleonRenderKitFactory.<init>(ChameleonRenderKitFactory.java:62) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:519) 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) ... 16 more

Já pesquisei e não encontrei a resposta, desde já agradeço pela atenção

Liste para mim as bibliotecas do Richfaces que você colocou em sua aplicação.

Não é necessária a configuração:

com.sun.faces.config.ConfigureListener

obs: não existe JBoss Tools 3.5, deve ser o 3.1 compatível com Eclipse 3.5

[quote=Flavio Almeida]Liste para mim as bibliotecas do Richfaces que você colocou em sua aplicação.

Não é necessária a configuração:

com.sun.faces.config.ConfigureListener [/quote] Flavio, mesmo tirando ainda dá o mesmo erro. As libs são: [list]richfaces-api-3.3.1.GA.jar[/list] [list]richfaces-impl-3.3.1.GA.jar[/list] [list]richfaces-ui-3.3.1.GA.jar[/list]

Nota: eu troquei a 3.3.3 por esta p/ ver se deixava de dar o erro.

[quote=Flavio Almeida]
obs: não existe JBoss Tools 3.5, deve ser o 3.1 compatível com Eclipse 3.5[/quote]
Desculpe-me pela gafe :lol:

Gafes acontecem, sem problema.

Confirme para mim: você tem jsf-api.jar e jsf-impl.jar do mojarra no seu projeto ou apenas um deles?

Abraço

Tenho os 2

Você está usando a versão 3.3.1. Experimente a 3.3.3.
Se o erro continuar, eu crio um projeto com seu web.xml e faço a verificação.

Hum, criei um projeto com sua configuração.
Veja se você possui as bibliotecas:

commons-beanutils-1.8.0.jar
commons-digester-2.0.jar
commons-logging-1.1.1.jar

Consegui rodar em problema, mas com Richfaces 3.3.3.

[quote=Flavio Almeida]Hum, criei um projeto com sua configuração.
Veja se você possui as bibliotecas:

commons-beanutils-1.8.0.jar
commons-digester-2.0.jar
commons-logging-1.1.1.jar

[/quote]
Sim as possuo

Pois é, criei um projeto do zero com seu web.xml e funcionou.

Vou colocar aqui a lista das bibliotecas que utilizei na versão de teste:

OBS: fiz o teste sem o hibernate.

commons-beanutils-1.8.0.jar
commons-digester-2.0.jar
commons-logging-1.1.1.jar

jsf-api.jar (versão 1.2.15)
jsf-impl.jar (versão 1.2.15)

jstl-api-1.2.jar
jstl-impl-1.2.jar

richfaces-api-3.3.3.Final.jar
richfaces-impl-3.3.3.Final.jar
richfaces-ui-3.3.3.Final.jar

Hum, eu não coloquei este jstl-api e jstl-impl no meu projeto não. vou colocar e ve se funciona.

Muito obrigado msm pela atenção.

Ah, vou postar aqui a solução

Pessoal, “resolvi” o meu problema trocando o Mojarra pelo Apache MyFaces e funcionou. Muito obrigado pela atenção Flávio