[RESOLVIDO] at java.lang.Thread.run(Unknown Source)

To fazendo um trabalho para a faculdade mas travei em uma parte que não consigo resolver…
To tentando pegar os dados de uma pagina HTML comum com form mas quando mando salvar ele da um erro que não sei o que é…

SEVERE: Servlet.service() for servlet AdicionaContato threw exception
java.lang.ExceptionInInitializerError
	at br.com.AluguelDeCarros.Servlet.HibernateUtil.buildSessionFactory(HibernateUtil.java:20)
	at br.com.AluguelDeCarros.Servlet.HibernateUtil.<clinit>(HibernateUtil.java:8)
	at br.com.AluguelDeCarros.dao.ContatoDAO.Adiciona(ContatoDAO.java:20)
	at br.com.AluguelDeCarros.Servlet.AdicionaContatoServlet.service(AdicionaContatoServlet.java:41)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)

O body do HTML…

[code]<body>
<form action=“adicionaContato”>

	<p>Cadastro</p>
	Nome: &lt;input type="text" name="nome" /&gt; <br />
	E-mail: &lt;input type="text" name="email" /&gt; <br />
	Telefone: &lt;input type="text" name="telefone" /&gt; <br />
	Endereço: &lt;input type="text" name="endereco" /&gt; <br />
	Cartão de Crédito: &lt;input type="text" name="cartao" /&gt; <br /><br /><br /><br />
	
	<p>Carro</p>
	Modelo: &lt;input type="text" name="modelo" /&gt; <br />
	Marca: &lt;input type="text" name="marca" /&gt; <br />
	Placa: &lt;input type="text" name="placa" /&gt; <br />
	Quilometragem: &lt;input type="text" name="quilometragem" /&gt; <br />
	Data do Aluguel: &lt;input type="text" name="dataInicio" /&gt; <br />
	Data de Entrega: &lt;input type="text" name="dataFim" /&gt; <br /><br><br>		
	
	&lt;input type="submit" value="Gravar" /&gt;
&lt;/form&gt;

</body>[/code]

Camada DAO

[code]package br.com.AluguelDeCarros.dao;

import org.hibernate.HibernateException;
import org.hibernate.Transaction;
import org.hibernate.classic.Session;

import br.com.AluguelDeCarros.Contato;
import br.com.AluguelDeCarros.Servlet.HibernateUtil;

public class ContatoDAO {

public void Adiciona(Contato contato) {
	Session sessao = null;
	Transaction transacao = null;

	try {
		sessao = HibernateUtil.getSessionFactory().openSession();
		transacao = sessao.beginTransaction();
		sessao.save(contato);
		transacao.commit();
	} catch (HibernateException e) {
		System.out.println("Não foi possivel salvar o contato. Erro: " + e);
	} finally {
		try {
			sessao.close();
		} catch (Throwable e) {
			System.out.println("Erro ao fechar operaçao de insersão. Mensagem: "
							+ e);
		}
	}
}

}[/code]

O Servlet…

[code]package br.com.AluguelDeCarros.Servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.AluguelDeCarros.Contato;
import br.com.AluguelDeCarros.dao.ContatoDAO;

public class AdicionaContatoServlet extends HttpServlet {

@Override
protected void service(HttpServletRequest request,
		HttpServletResponse response) throws ServletException, IOException {

	PrintWriter out = response.getWriter();

	// pegando parametros do request e já montando o contato
	Contato contato = new Contato();
	contato.setNome(request.getParameter("nome"));
	contato.setEmail(request.getParameter("email"));
	contato.setTelefone(request.getParameter("telefone"));
	contato.setEndereco(request.getParameter("endereco"));
	contato.setCartao(request.getParameter("cartao"));
	contato.setModelo(request.getParameter("modelo"));
	contato.setMarca(request.getParameter("marca"));
	contato.setPlaca(request.getParameter("placa"));
	contato.setQuilometragem(request.getParameter("quilometragem"));
	contato.setDataInicio(request.getParameter("dataInicio"));
	contato.setDataFim(request.getParameter("dataFim"));

	// Salvar Contatos

	ContatoDAO dao = new ContatoDAO();
	dao.Adiciona(contato);

	// testando
	System.out.println("&lt;html&gt;&lt;body&gt;");
	System.out.println("Contato: " + contato.getNome()
			+ "adicionado com sucesso");
	System.out.println("&lt;/body&gt; &lt;/html&gt;");

}

}[/code]

E por fim o web.xml

[code]<servlet>
<servlet-name>AdicionaContato</servlet-name>
<servlet-class>
br.com.AluguelDeCarros.Servlet.AdicionaContatoServlet
</servlet-class>
</servlet>

&lt;servlet-mapping&gt;
	&lt;servlet-name&gt;AdicionaContato&lt;/servlet-name&gt;
	&lt;url-pattern&gt;/adicionaContato&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;[/code]

Posta o HibernateUtil, o erro pode estar lá.

O HibernateUtil

[code]package br.com.AluguelDeCarros.Servlet;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();

private static SessionFactory buildSessionFactory() {
	
	try {
		Configuration cfg = new Configuration();
		cfg.configure("hibernate.cfg.xml");
		return cfg.buildSessionFactory();
		
	}
	catch (Throwable e) {
		System.out.println("Criaçao inicial do objeto SessionFactory falhou. Erro: " + e);
		throw new ExceptionInInitializerError();
	}
}

public static SessionFactory getSessionFactory(){
	return 	sessionFactory;
}

}
[/code]

hibernate.cfg.xml

[code]

<?xml version="1.0" encoding="UTF-8"?> org.hibernate.dialect.MySQL5InnoDBDialect com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/alugueldecarros root pe110859 thread
	<!-- Usando as configurações do C3PO para pool de conexões -->
	<property name="c3po.min_size">5</property>
	<property name="c3po.max_size">30</property>
	<property name="c3po.timeout">300</property>
	<property name="c3po.max_statements">50</property>
	<property name="c3po.idle_test_period">3000</property>
	<property name="hibernate.hbm2ddl.auto">update</property>

	<!-- Configurações de debug -->
	<property name="show_sql">true</property>
	<property name="format_sql">true</property>
	<property name="generate_statistics">true</property>
	<property name="use_sql_comments">true</property>

	<!-- Mapeando Classes -->
	<mapping resource="br/com/AluguelDeCarros/Contato.hbm.xml" />

</session-factory>

[/code]

Contato.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd ">
	<hibernate-mapping package="br.com.AluguelDeCarros">
		<class name="Contato" table="contato">
			<id column="id" name="id">
				<generator class="increment"></generator>
			</id>
			<property column="nome" name="nome" />
			<property column="email" name="email" />
			<property column="telefone" name="telefone" />
			<property column="endereco" name="endereco" />
			<property column="cartao" name="cartao" />
			<property column="modelo" name="modelo" />
			<property column="marca" name="marca" />
			<property column="placa" name="placa" />
			<property column="quilometragem" name="quilometragem" />
			<property column="dataInicio" name="dataInicio" />
			<property column="dataFim" name="dataFim" />
		</class>
	</hibernate-mapping>

[quote=PedroFelipe1989] System.out.println("Criaçao inicial do objeto SessionFactory falhou. Erro: " + e); throw new ExceptionInInitializerError(); [/quote]

O erro que estás a obter é o throw desta exception. No log deves ter antes o print do erro.

Verifiquei e ela está conseguindo pegar as informações da URL e salvando no objeto contato, mas não sei porque ele não consegue salvar essas informações no banco com o dao

[quote=pmlm][quote=PedroFelipe1989] System.out.println("Criaçao inicial do objeto SessionFactory falhou. Erro: " + e); throw new ExceptionInInitializerError(); [/quote]

O erro que estás a obter é o throw desta exception. No log deves ter antes o print do erro.
[/quote]

Entendi o que voce quis dizer…
Ele ta dando esse erro:
Criaçao inicial do objeto SessionFactory falhou. Erro: java.lang.NoClassDefFoundError

Seu projeto não deve estar encontrado a biblioteca do hibernate.

Coloque as bibliotecas do hibernate e tuas dependências na pasta lib e teste novamente.

[quote=asousaj]Seu projeto não deve estar encontrado a biblioteca do hibernate.

Coloque as bibliotecas do hibernate e tuas dependências na pasta lib e teste novamente.[/quote]

Ja adicionei todas as bibliotecas do hibernate…

antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
hibernate-validator-3.1.0.GA.jar
hibernate-validator-4.1.0.Final.jar
javassist-3.12.0.GA.jar
javax.validation-validation-api-1.0.0.GA-sources.jar
jta-1.1.jar
slf4j-api-1.6.0.jar
slf4j-api-1.6.1.jar
slf4j-simple-1.6.0.jar
mysql-connector-java-5.1.23-bin.jar

Verifiquei e o caminho da biblioteca do tomcat não estava encontrando a biblioteca, após arrumar apresenta um erro diferente…

[quote=PedroFelipe1989]Verifiquei e o caminho da biblioteca do tomcat não estava encontrando a biblioteca, após arrumar apresenta um erro diferente…

[/quote]

Geralmente essa falha acontece quando falta a lib do JPA, mas ela conta na lua lista de JARs :S
Posta o erro completo, talvez tenha outra informação útil lá.

[quote=asousaj][quote=PedroFelipe1989]Verifiquei e o caminho da biblioteca do tomcat não estava encontrando a biblioteca, após arrumar apresenta um erro diferente…

[/quote]

Geralmente essa falha acontece quando falta a lib do JPA, mas ela conta na lua lista de JARs :S
Posta o erro completo, talvez tenha outra informação útil lá.[/quote]

Todo o erro…

Criaçao inicial do objeto SessionFactory falhou. Erro: java.lang.NoClassDefFoundError: javax/persistence/EntityListeners
Erro ao fechar operaçao de insersão. Mensagem: java.lang.NullPointerException
f
f
f
f
Nov 13, 2013 12:52:28 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet AdicionaContato threw exception
java.lang.NoClassDefFoundError: Could not initialize class br.com.AluguelDeCarros.Servlet.HibernateUtil
	at br.com.AluguelDeCarros.dao.ContatoDAO.Adiciona(ContatoDAO.java:20)
	at br.com.AluguelDeCarros.Servlet.AdicionaContatoServlet.service(AdicionaContatoServlet.java:60)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)

Erro ao fechar operaçao de insersão. Mensagem: java.lang.NullPointerException
java.lang.NoClassDefFoundError: javax/persistence/EntityListeners

Cara a aplicação não tá encontrando o JPA.

Foi algum problema na lib mesmo, criei um novo projeto e refiz tudo, assim ele funcionou redondo…

Agradeço a todos pela ajuda!