Olá pessoal
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:
[quote]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
[/quote]
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.
Por favor, me ajudem.
Obrigado.
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
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.
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
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.
[code]<?xml version="1.0"?>
<application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
<variable-resolver>org.springframework.web.jsf.SpringBeanVariableResolver</variable-resolver>
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
<locale-config>
<default-locale>pt_BR</default-locale>
</locale-config>
</application>
[/code]
[code]
Sistema de Helpdesk para o Cidade Cancao
contextConfigLocation
/WEB-INF/applicationContext.xml
javax.faces.DEFAULT_SUFFIX
.jspx
org.richfaces.SKIN
classic
org.richfaces.CONTROL_SKINNING
enable
richfaces
org.ajax4jsf.Filter
richfaces
Faces Servlet
REQUEST
FORWARD
INCLUDE
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>com.cidadecancao.filter.HibernateFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</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>*.jsf</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
[/code]
Obrigado.
[quote=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.
[code]<?xml version="1.0"?>
<application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
<variable-resolver>org.springframework.web.jsf.SpringBeanVariableResolver</variable-resolver>
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
<locale-config>
<default-locale>pt_BR</default-locale>
</locale-config>
</application>
[/code]
[code]
Sistema de Helpdesk para o Cidade Cancao
contextConfigLocation
/WEB-INF/applicationContext.xml
javax.faces.DEFAULT_SUFFIX
.jspx
org.richfaces.SKIN
classic
org.richfaces.CONTROL_SKINNING
enable
richfaces
org.ajax4jsf.Filter
richfaces
Faces Servlet
REQUEST
FORWARD
INCLUDE
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>com.cidadecancao.filter.HibernateFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</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>*.jsf</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
[/code]
Obrigado.[/quote]
Então… eu uso spring com jsf também… e parece que está bem parecido as configurações, exceto por este trecho:
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
tente tirar ele do seu web.xml
e onde ele faz a ponte com o spring
<application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
<variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
</application>
Troca por esse trecho acima no seu faces-config.xml
Estava torcendo para que fosse isso mas não deu certo. Fiz as alterações e o mesmo erro persiste
Alguma outra idéia?
Bom… parece que não está conseguindo inicializar nem as configurações… onde que vc colocou o faces-config.xml?
Eu deixo ele junto com o web.xml, no WEB-INF. Engraçado que local ele roda que é uma beleza.
e o que vc usa pra rodar local? por acaso é algum app server (glassfish, jboss, etc)?
Eu uso o tomcat apenas. A única lib diferente que eu coloquei no /lib do tomcat é o driver do Postgres.
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
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.
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
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!
Caso esses paus continuem… poste aí pra gente dar uma olhada…