[RESOLVIDO] deploy tomcat + hibernate - java.lang.NullPointerException

Olá!

Estou desenvolvendo a minha aplicação no netbeans (6.7.1) com tomcat + hibernate e mysql. Na minha máquina de desenvolvimento (Debian Lenny), ele roda perfeitamente, através do netbeans. Porém, no server (Debian Lenny) eu faço o deploy e ele roda bem, até acessar algumas páginas (jsp) que contém código java de acesso ao hibernate. Simplesmente dá o erro: java.lang.NullPointerException. Testei o mysql do server e consigo acessar ele numa boa, da minha máquina de desenvolvimento (ou seja: não é o acesso em si ao banco de dados). O que poderia ser?

Problema na lógica, só vendo o código pra saber.

http://kenai.com/projects/tsunade/ --> repositorio do projeto
https://kenai.com/svn/tsunade~subversion --> para usar o subversion para obter o código

de antemão, segue a minha página (os servlets com hibernate também não funcionam):

<%–
/* Author: Jefferson Luiz Oliveira de Campos

  • e-mail: foguinho.peruca@gmail.com
  • Created on: 29/06/2008
  • Last Modification: 30/07/2009
  • Who’s made the last modification? Jefferson Luiz Oliveira de Campos
  • License: GPLv2 or higher
  • Log:
    */
    –%>

<%@page contentType=“text/html” pageEncoding=“ISO-8859-1”%>
<%@page import=“util.HibernateUtil” %>
<%@page import=“org.hibernate.Session” %>
<%@page import=“org.hibernate.SessionFactory” %>
<%@page import=“org.hibernate.cfg.Configuration” %>
<%@page import=“colaborador.Pessoa” %>
<%@page import=“java.text.SimpleDateFormat” %>
<%@page import=“java.util.Date” %>
<%@page import=“java.util.List” %>
<%@page import=“java.util.Iterator” %>

ID:
Registros Cadastrados <% Session sessao = null; try { SimpleDateFormat dataBr = new SimpleDateFormat("dd/MM/yyyy"); sessao = HibernateUtil.getSessionFactory().getCurrentSession(); sessao.beginTransaction(); List result = sessao.createCriteria(Pessoa.class).list();
if (result.size() > 0) {
    Iterator it = result.iterator();
    while (it.hasNext()) {
        Pessoa p = (Pessoa) it.next();
        out.println("<tr>");
        out.println("<td>" + p.getIdPessoa() + "</td>");
        out.println("<td>" + p.getNome() + "</td>");
        out.println("<td>" + dataBr.format(p.getDataNascimento()) + "</td>");
        out.println("<td>" + "<a href=\"javascript:criaTabs(new Array('colaborador/cadPessoa.jsp?acao=manutencao&idPessoa=" + p.getIdPessoa() + "','colaborador/cadEndereco.jsp?idPessoa=" + p.getIdPessoa() + "','colaborador/cadContato.jsp?idPessoa=" + p.getIdPessoa() + "','colaborador/cadDocumentos.jsp?idPessoa=" + p.getIdPessoa() + "','colaborador/cadObservacaoPessoa.jsp?idPessoa=" + p.getIdPessoa() + "'),new Array('Pessoa','Endere&ccedil;o','Contatos','Documentos','Observa&ccedil;&atilde;o'))\">Pessoa</a>" + "</td>");
        out.println("<td>" + "<a href=\"javascript:criaTabs(new Array('colaborador/cadDependente.jsp?idPessoa=" + p.getIdPessoa() + "'),new Array('Dependente'))\">Depentente</a>" + "</td>");
        out.println("<td>" + "<a href=\"javascript:criaTabs(new Array('colaborador/cadEducacao.jsp?idPessoa=" + p.getIdPessoa() + "'),new Array('Educa&ccedil;&atilde;o'))\">Educa&ccedil;&atilde;o</a>" + "</td>");
        out.println("<td>" + "<a href=\"javascript:criaTabs(new Array('colaborador/cadVinculo.jsp?idPessoa=" + p.getIdPessoa() + ",cadObservacaoVinculo.jsp?idPessoa=" + p.getIdPessoa() + "'),new Array('Vinculo,Observa&ccedil;&atilde;o'))\">Vinculo</a>" + "</td>");
        out.println("<td>" + "<a href=\"javascript:criaTabs(new Array('colaborador/desligamento.jsp?idPessoa=" + p.getIdPessoa() + "'),new Array('Desligamento'))\">Desligar</a>" + "</td>");
        out.println("<td>" + "<a href='javascript:alert(" + p.getIdPessoa() + ")'>Excluir</a>" + "</td>");
        out.println("<td>" + "<a href=\"javascript:criaTabs(new Array('colaborador/cadPessoa.jsp?acao=manutencao&idPessoa=" + p.getIdPessoa() + "','colaborador/cadEndereco.jsp?idPessoa=" + p.getIdPessoa() + "','colaborador/cadContato.jsp?idPessoa=" + p.getIdPessoa() + "','colaborador/cadDocumentos.jsp?idPessoa=" + p.getIdPessoa() + "','colaborador/cadObservacaoPessoa.jsp?idPessoa=" + p.getIdPessoa() + "','colaborador/cadDependente.jsp?idPessoa=" + p.getIdPessoa() + "','colaborador/cadEducacao.jsp?idPessoa=" + p.getIdPessoa() + "','colaborador/cadVinculo.jsp?idPessoa=" + p.getIdPessoa() + "','colaborador/cadObservacaoVinculo.jsp?idPessoa=" + p.getIdPessoa() + "'),new Array('Pessoa','Endere&ccedil;o','Contatos','Documentos','Observa&ccedil;&atilde;o','Dependente','Educa&ccedil;&atilde;o','Vinculo','Observa&ccedil;&atilde;o-Vinculo'))\">EDITAR</a>" + "</td>");
        out.println("</tr>");
    }
}

} catch(Exception e) {
System.out.println(e.getMessage() + " - Error!!!");
out.println(e.getMessage() + " - Erro ao carregar Pessoa!!! Contate o administrador do sistema!!!");
} finally {
// Actual contact insertion will happen at this step
//sessao.flush();
sessao.close();
//HibernateUtil.getSessionFactory().close();
}
%>

ID Nome Nascimento Ações

<%--'),new Array('Educação'))" /> ','colaborador/cadBeneficios.jsp','colaborador/cadObservacao.jsp'),new Array('Vínculo','Benefícios','Observação'))" />--%>

O erro completo:[u]

Apache Tomcat/6.0.18 - Error report

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /colaborador/manutencao.jsp at line 75

72: } finally {
73: // Actual contact insertion will happen at this step
74: //sessao.flush();
75: sessao.close();
76: //HibernateUtil.getSessionFactory().close();
77: }
78: %>

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.NullPointerException
org.apache.jsp.colaborador.manutencao_jsp._jspService(manutencao_jsp.java:127)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.


Apache Tomcat/6.0.18

Jefferson ele não estaria acessando uma variável que está nula ?

eu comentei a linha:

} finally {

  // Actual contact insertion will happen at this step

    //sessao.flush();

    //sessao.close();
    //HibernateUtil.getSessionFactory().close();

}

E deu a seguinte mensagem de erro:

Apache Tomcat/6.0.18 - Error report

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /colaborador/manutencao.jsp at line 46

43: Session sessao = null;
44: try {
45: SimpleDateFormat dataBr = new SimpleDateFormat("dd/MM/yyyy");
46: sessao = HibernateUtil.getSessionFactory().getCurrentSession();
47: sessao.beginTransaction();
48: List result = sessao.createCriteria(Pessoa.class).list();
49:

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

javax.servlet.ServletException: java.lang.NoClassDefFoundError: util.HibernateUtil
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.colaborador.manutencao_jsp._jspService(manutencao_jsp.java:145)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.NoClassDefFoundError: util.HibernateUtil
java.lang.Class.initializeClass(libgcj.so.90)
org.apache.jsp.colaborador.manutencao_jsp._jspService(manutencao_jsp.java:98)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.


Apache Tomcat/6.0.18

Vou tentar adicionar no classpath o hibernate… alguma outra solução? O.o

Resolvido!

Eu comentei o finally e começou a dar o erro indicando que não era possível acessar as minhas classes. Consertei o classpath e a minha aplicação funcionou perfeitamente.

Jeff