Solucionado (ver solução)
Solucionado
(ver solução)
12
respostas

Erro apos a instalacao do JSF 2.2

Olá. Ao configurar o ambiente para jsf 2.2 tenho o erro 404: Message /autor.xhtml Not Found in ExternalContext as a Resource Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

Fiz todos os procedimentos conforme as instruções, ou seja: 1o) instalei o jar javax.faces-2.2.13 em web-inf\lib 2o) adicionei-o ao build path 3o) remove o jsf 2.1 4o) atualizei o faces-config.xml:

5o) atualizei o cabeçalho de todos os .xhtml Tinha também o jar do primafaces instalado. Remove-o para verificar se era isto.

Podem me ajudar?

12 respostas

Oi Eduardo,

algumas perguntas para investigar :)

1) O projeto subiu sem erros? (Para tal verifique o console do Tomcat. (tbm tente dar um clean no seu projeto e no Tomcat) 2) Os arquivos xhtml estão na raiz da pasta WebContent? 3) Tem como postar o seu web.xml aqui para verificar?

abs, Nico

Código do faces-config.xml:

<?xml version="1.0" encoding="UTF-8"?>

<faces-config version="2.2"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">

 <lifecycle>
        <phase-listener>br.com.caelum.livraria.util.LogPhaseListener</phase-listener>
 </lifecycle>

</faces-config>

Código do _template.xhtml:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets">

<h:head/>

Código do livro.xhtml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">`
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets">

Código do autor.xhtml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">`
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets">

Código do 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_3_0.xsd" version="3.0"> 
   <display-name>livraria</display-name> 
   <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>*.xhtml</url-pattern> 
   </servlet-mapping> 
   <context-param> 
       <param-name> 
          javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE
       </param-name> 
       <param-value> 
          true
       </param-value> 
   </context-param> 
</web-app> 

Report no console: Fase: RESTORE_VIEW 1

Sim. Os arquivos xhtml estão no WebContent.

Após dar um clean no Tomcat, tenho o seguinte erro: GRAVE: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/jsf-livraria]] at java.util.concurrent.FutureTask.report(Unknown Source) at java.util.concurrent.FutureTask.get(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1421) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1411) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/jsf-livraria]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ... 6 more Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@2c9c3b38] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4907) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5042) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 6 more Caused by: java.lang.IllegalArgumentException: The main resource set specified [E:\Eduardo\Curso Java.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jsf-livraria] is not valid at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:748) at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:706) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 9 more

Oi Eduardo,

Nao estou vendo o problema :( mas nao vamos desistir!

Tente desabilitar o PhaseListener para ver se ele fica parando as requisições.

Em geral, como o JSF abstrai muita coisa, nem sempre está claro pelo erro ou pela exceções qual é o real problema. Por isso, sempre aconselho aos alunos voltar para uma versão do projeto que funcione. A partir dai teste o mesmo procedimento. Sempre andando em pequenos passos (o que se chama de baby steps), nunca fazendo muitas mudancas ao mesmo tempo. Isso vale para JSF e qq outro projeto.

abs, Nico

Mandei a resposta sem ter vista a excecao!!! O projeto nem esta subindo entao.

Me parece que o stacktrace nao está completo, tem como postar a ROOT CAUSE (a excecao raiz)?

GRAVE: The required Server component failed to start so Tomcat is unable to start. org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) at org.apache.catalina.startup.Catalina.start(Catalina.java:681) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 7 more Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 9 more Caused by: org.apache.catalina.LifecycleException: A child container failed during start at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:949) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 11 more

set 20, 2018 4:03:51 PM org.apache.coyote.AbstractProtocol pause INFORMAÇÕES: Pausing ProtocolHandler ["http-nio-8080"] set 20, 2018 4:03:51 PM org.apache.coyote.AbstractProtocol pause INFORMAÇÕES: Pausing ProtocolHandler ["ajp-nio-8009"] set 20, 2018 4:03:51 PM org.apache.catalina.core.StandardService stopInternal INFORMAÇÕES: Stopping service [Catalina] set 20, 2018 4:03:51 PM org.apache.coyote.AbstractProtocol destroy INFORMAÇÕES: Destroying ProtocolHandler ["http-nio-8080"] set 20, 2018 4:03:51 PM org.apache.coyote.AbstractProtocol destroy INFORMAÇÕES: Destroying ProtocolHandler ["ajp-nio-8009"]

Link para arquivo contendo erro Tomcat: https://drive.google.com/file/d/1BPTAMGbS6pBj49bE4QPA346qQxqsel8U/view?usp=sharing

Oi Eduardo,

tem 3 projeto no tomcat jsf-livraria, gerenciador e gerenciador-old.

adicione apenas o projeto no tomcat que vc está usando e tire o resto, ok?

abs

Eu reinstalei o Tomcat no Eclipse e parece que deu certo. Conquanto, o problema e decorrente de mais de um projeto no Tomcat?

eu acho que na hora de deploy de algum problema. isso sim acontece, mas me parece ser mais problema daquele server adapter no eclipse do que do tomcat em si.

abs

solução!

Ok. Obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software