Olá, após assistir o mini curso do pessoal da Globalcode sobre JSF, muito bom por sinal, estou tentando fazer um simples Hello Word mas a aplicação não starta pelo manager do Tomcat 6:
e a aplicação startou porém esta dando null pointer
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet.init() for servlet Faces Servlet threw exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
java.lang.Thread.run(Thread.java:619)
root cause
java.lang.NullPointerException
javax.faces.webapp.FacesServlet.init(FacesServlet.java:144)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
java.lang.Thread.run(Thread.java:619)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.
Apache Tomcat/6.0.10
Sim o projeto usa myfaces, o problema é que o exemplo é gerado pelos wizards no NB para JBoss e eu fiz na unha pelo Eclipse para descobrir as depedências e testar no Tomcat, pois não estou rodando EJB.
Passos Sugeridos:
Criar biblioteca Hibernate no Netbeans
Criar banco de dados no MySQL e tabela conforme comando
apresentado;
Dentro do NetBeans vá no menu Tools -> Library Manager em seguida
clique em New Library, com nome Hibernate.
Clique em Add Jar/Folder? e escolha os seguintes JARs no diretório
onde está instalado o Hibernate Entity Manager.
Escolha os JARS hibernate-entitymanager.jar, lib\ejb3-persistence.jar e
lib\hibernate-annotations.jar.
Tenho todos os jars do Hibernate e JPA e os do JSF utilizo esses:
Após adicionar os jars do myfaces e suas depedencias, consigo startar com web.xml original porém ao acessar a página o erro já e outro:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
root cause
java.lang.NoSuchMethodError: javax.faces.application.ViewHandler.initView(Ljavax/faces/context/FacesContext;)V
org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:61)
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.
Apache Tomcat/6.0.10
Eu aconselho o seguinte, já que você está começando agora, começando com um helloWorld, não precisa querer inserir tudo de uma unica vez em um projeto
Pelo que eu pude perceber, seu projeto tem o MyFaces, Tomahawk, Facelets, Ajax4JSF, Richfaces…
Começa pelo inicio.
Tenta implementar um Hello World usando apenas a implementação do JSF (seja JSF RI, MyFaces, ADF…), depois adicione o tomahawk e assim vai.
E aconselho também, agora no começo não utilizar esses wizards de NB, Eclipse, etc, crie na mão os arquivos para você compreender legal.