Faz 3 dias que eu estou me matando com isso e não acho a solução. Eu configurei um servidor com Tomcat + Postgres. E quando eu faço deploy nos logs me retorno o seguinte erro:
<blockquote>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:213)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:196)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
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:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NullPointerException
at com.sun.faces.config.processor.ManagedBeanConfigProcessor.process(ManagedBeanConfigProcessor.java:241)
at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:108)
at com.sun.faces.config.processor.ValidatorConfigProcessor.process(ValidatorConfigProcessor.java:107)
at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:108)
at com.sun.faces.config.processor.ConverterConfigProcessor.process(ConverterConfigProcessor.java:117)
at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:108)
at com.sun.faces.config.processor.ComponentConfigProcessor.process(ComponentConfigProcessor.java:108)
at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:108)
at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:252)
at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:108)
at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:119)
at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:108)
at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:132)
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:203)
… 25 more
</blockquote>
Pesquisei e encontrei que era pra atualizar a versão do commons-collections para a versão 3.2, mas ela já está nessa versão. Outra foi eu ter que remover todos os JSF da Sun para não conflitar com o myfacelets, mas quando eu ranco, a aplicação não encontra as classes e dá ClassNotFoundException.
Detalhe importante, na minha máquina o sistema funciona perfeitamente.
Se você está tentando fazer deploy em outra máquina, certifique-se que o WAR/EAR gerados estejam com a estrutura correta, contendo todos os JARS necessários para rodar a aplicação
Pilantra
Você acha interessante colocar as libs da aplicação no /lib do Tomcat? Pois as libs estão todas no WEB-INF/lib da aplicação.
ralphsilver
1º - verifique se tem mais de uma api repetitiva… isso pode gerar problema de versão
2º - pelo que eu vi, parece um erro de configuração do faces-config ou do web.xml
Pilantra
Olá.
Eu dei uma olhada aqui, não tem nenhuma lib repetida. Acho que o Maven não deixa também.
Vou postar meu faces-config e web.xml, espero que seja algo bem simples, pois estou usando Spring.
Troca por esse trecho acima no seu faces-config.xml
Pilantra
Estava torcendo para que fosse isso mas não deu certo. Fiz as alterações e o mesmo erro persiste
Alguma outra idéia?
ralphsilver
Bom… parece que não está conseguindo inicializar nem as configurações… onde que vc colocou o faces-config.xml?
Pilantra
Eu deixo ele junto com o web.xml, no WEB-INF. Engraçado que local ele roda que é uma beleza.
ralphsilver
e o que vc usa pra rodar local? por acaso é algum app server (glassfish, jboss, etc)?
Pilantra
Eu uso o tomcat apenas. A única lib diferente que eu coloquei no /lib do tomcat é o driver do Postgres.
ralphsilver
huummm… agora ue fiquei em dúvida com relação ao tomcat… tipo… faz tempo qeu eu não uso ele… já tentou rodar o seu projeto em um glassfish pra ver se roda?.. tenta fazer isso… as vezes… dependendo od que vc usar do spring ele não roda no tomcat
Pilantra
O GlassFish é mais adequado para aplicações JSF? Eu não tenho muita experiência com JSF, faz pouco tempo em relação a outros frameworks.
Eu vou fazer esse teste e posto aqui os resultados. Tomara que de certo.
Valeu.
ralphsilver
na verdade esses appservers tem até a api do jsf nativa para se trabalhar… tipo… pelo menos eu acho melhor… esse seu problema eu nunca tive… e quando eu comecei com jsf eu já usava apenas glassfish…
vamos ver… se não for… qualquer coisa agente ve o código certinho porque pode ser api… como vc mesmo falou no começo
Pilantra
Olá pessoal.
Só para finalizar a thread. O sistema rodou no Glassfish mas mesmo assim ainda está meio estranho, dando uns paus estranhos na hora de salvar em algumas telas.
O que vamos fazer é instalar o Red Hat como servidor, ouvi dizer a um tempo que o Java no Debian não rodava muito bem para aplicações Web que usam JSF.
No fim, acho que não tinha nada de errado com o sistema hehe.
Agradeço aos amigos que ajudaram.
Abraços!
ralphsilver
Caso esses paus continuem… poste aí pra gente dar uma olhada…