JSF 2.0 só funcionando com o faces-config.xml

11 respostas
V

Pessoal, to com esse problema e não consigo achar nenhuma solução.
Comecei Mapeamento minha classe com o @ManagedBean e o @RequestScoped
só que o projeto não roda de jeito nenhum. Ai decidi colocar como tentativa o mapeamento no faces-config.xml e funcionou tranquilo, quando retiro o faces-config.xml, volta o pau td dnv.

Segue abaixo o stacktrace

INFO: Unsanitized stacktrace from failed start

java.lang.NullPointerException

at com.sun.faces.util.Util.loadClass(Util.java:200)

at com.sun.faces.config.processor.AbstractConfigProcessor.loadClass(AbstractConfigProcessor.java:312)

at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processHandlerClass(FaceletTaglibConfigProcessor.java:416)

at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTags(FaceletTaglibConfigProcessor.java:370)

at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTagLibrary(FaceletTaglibConfigProcessor.java:313)

at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process(FaceletTaglibConfigProcessor.java:262)

at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:337)

at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:219)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4681)

at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5184)

at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5179)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

25/03/2011 11:24:49 org.apache.catalina.core.StandardContext listenerStart

GRAVE: 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:354)

at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:219)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4681)

at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5184)

at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5179)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.NullPointerException

at com.sun.faces.util.Util.loadClass(Util.java:200)

at com.sun.faces.config.processor.AbstractConfigProcessor.loadClass(AbstractConfigProcessor.java:312)

at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processHandlerClass(FaceletTaglibConfigProcessor.java:416)

at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTags(FaceletTaglibConfigProcessor.java:370)

at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTagLibrary(FaceletTaglibConfigProcessor.java:313)

at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process(FaceletTaglibConfigProcessor.java:262)

at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:337)

 9 more

25/03/2011 11:24:49 org.apache.catalina.core.StandardContext startInternal

GRAVE: Error listenerStart

25/03/2011 11:24:49 org.apache.catalina.core.StandardContext startInternal

GRAVE: Context [/Projeto] startup failed due to previous errors

25/03/2011 11:24:49 com.sun.faces.config.ConfigureListener contextDestroyed

GRAVE: Unexpected exception when attempting to tear down the Mojarra runtime

java.lang.IllegalStateException: O aplicativo não foi iniciado corretamente na inicialização. Não foi possível encontrar Fábrica: javax.faces.application.ApplicationFactory

at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:804)

at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:306)

at com.sun.faces.config.InitFacesContext.getApplication(InitFacesContext.java:104)

at com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:305)

at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4721)

at org.apache.catalina.core.StandardContext$4.call(StandardContext.java:5423)

at org.apache.catalina.core.StandardContext$4.call(StandardContext.java:5402)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

11 Respostas

C

Victor

Qual versão dos jars que vc ta utilizando?

jsf-api-x.x.x?
jsf-impl-x.x.x?

V

2.0 pros dois
acho que isso é algum bug com o meu tomcat tbm (7.0.11)
procurei na net, vi o mesmo erro com outros usuários, mas nenhum resposta. Vou mudar aqui o tomcat pra ver no que dá. Eu ja tinha pego um bug do jsf 2.1 com o tomcat 7.

N

estou com o memo problema…

P

Já procurei em todo o lugar e não consegui encontrar solução. Já troquei as libs, já baixei tomcat e nada de funcionar. Aguardo ajuda dos amigos!

R

testa com o glassfish pra ver se roda. não esqueça de colocar a versão mais nova do JSF la nas libs do glassfish.

P

Beleza, vou baixar em casa e te falo o resultado. Obrigado.

C

Estou utilizando o JSF 2.0+primefaces e não tive esse problema, apesar que apenas iniciei o sistema, mas criei backbens sem precisar do faces-config.xml.
As libs q estou utilizando são:
jsf-api-2.1.10-b11
jsf-impl-2.1.0-b11

Para adiantar o processo, coloque a configuração do web.xml para eu comparar com a minha.

Abç

P

Gerado automaticamente pelo Eclipse Helios. Obrigado

<?xml version="1.0" encoding="UTF-8"?> ProjAjaxComJsf2 index.html index.htm index.jsp default.html default.htm default.jsp Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet /faces/* State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2 javax.faces.STATE_SAVING_METHOD client javax.servlet.jsp.jstl.fmt.localizationContext resources.application com.sun.faces.config.ConfigureListener
C

Aparentemente não há nada de errado, existe algumas diferenças do que eu uso, mas acredito que não seja o problema, mas se quiser testar.

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;web-app 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"&gt;
 &lt;display-name&gt;App&lt;/display-name&gt;
 &lt;!-- Change to "Production" when you are ready to deploy --&gt;
 &lt;context-param&gt;
  &lt;param-name&gt;javax.faces.PROJECT_STAGE&lt;/param-name&gt;
  &lt;param-value&gt;Development&lt;/param-value&gt;
 &lt;/context-param&gt;
  &lt;listener&gt;
  &lt;listener-class&gt;com.sun.faces.config.ConfigureListener&lt;/listener-class&gt;
 &lt;/listener&gt;

 &lt;!-- ******************************************************************* 
 JSF mapping --&gt;
 &lt;servlet&gt;
  &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
  &lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;
  &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
 &lt;/servlet&gt;
 &lt;!-- Map these files with JSF --&gt;
 &lt;servlet-mapping&gt;
  &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
  &lt;url-pattern&gt;/faces/*&lt;/url-pattern&gt;
 &lt;/servlet-mapping&gt;
 &lt;servlet-mapping&gt;
  &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
  &lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt;
 &lt;/servlet-mapping&gt;
 &lt;servlet-mapping&gt;
  &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
  &lt;url-pattern&gt;*.faces&lt;/url-pattern&gt;
 &lt;/servlet-mapping&gt;
 &lt;servlet-mapping&gt;
  &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
  &lt;url-pattern&gt;*.xhtml&lt;/url-pattern&gt;
 &lt;/servlet-mapping&gt;
 &lt;servlet-mapping&gt;
  &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
  &lt;url-pattern&gt;*.jsp&lt;/url-pattern&gt;
 &lt;/servlet-mapping&gt;
&lt;/web-app&gt;

Esqueci de mencionar, utilizo tomcat 6.32

Caso vc não consiga nada faça um teste com um sistema já pronto e vc poderá baixa-lo no link: http://blog.gilliard.eti.br/arquivos/apresentacao-jsf2.war

Não testei essa aplicação mas acho que pode te ajudar.

Abç

P

Pessoal, baixei o Glassfish 3 e funcionou de primeira, infelizmente gostaria de utilizar em primeiro lugar o tomcat, mas tanto o 6 e o 7 está apresentando o erro. Isso com JSF2. Mas como estou aperriado para resolver o problema vou ficar utilizando por enquanto o glassfish 3 mesmo. Agradeço a ajuda de todos. Valeu! Agora vou tentar configurar o primefaces.

R

Pessoal, tive o mesmo problema usando o APACHE 6 e, só para deixar registrado, CONSEGUI RESOLVER O PROBLEMA sem precisar instalar o GlassFish, como havia feito o colega profetaelias.
Na verdade, os arquivos do JSF 2.0.0 do site http://javaserverfaces.java.net/ que você baixa dos Archived Releases com o nome de 2.0.0 FCS Binary, não sei por que, dão esse erro. Mas, foi só pegar esses 2 arquivos da versão disponibilizada pelo colega cebatista no link: http://blog.gilliard.eti.br/arquivos/apresentacao-jsf2.war, que não deu mais o erro.

Criado 25 de março de 2011
Ultima resposta 6 de abr. de 2013
Respostas 11
Participantes 6