Erro ao rodar o gerador de banco de dados

18 respostas
A

Olá pessoal sou iniciante em java. Peguei uma apostila da caelum e estou tentando fazer os execicios. Porem, está dando esses erros não sei o que fazer alguém pode me ajudar por favor.

Segue o código:

package br.com.caelum.lojavirtual.util;

import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;

import org.hibernate.tool.hbm2ddl.SchemaExport;

public class GeraBanco {
	
	public static void main(String[] args){
		
		Configuration conf = new AnnotationConfiguration();
		conf.configure();
		SchemaExport se = new SchemaExport(conf);
		se.create(true, true);
	}

}

Erro:

Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/ReflectionManager
	at br.com.caelum.lojavirtual.util.GeraBanco.main(GeraBanco.java:12)
Caused by: java.lang.ClassNotFoundException: org.hibernate.annotations.common.reflection.ReflectionManager
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	... 1 more

18 Respostas

skalinichenko

Adilson,

Quando estava iniciando meus estudos com Hibernate, também encontrei alguns erros parecidos com o seu.
Certifique-se se todos os jars estão em seus projeto (digo todos mesmo! Dentro da pasta lib de cada um: Annotations, EntityManager e Core).
Se for preciso, remova e adicione todos novamente!
Quando apresentou um erro parecido ao seu, fui no site oficial de download do Hibernate e baixei todos novamente: O Hibernate Core, Annotations e EntityManager.

Site Oficial Hibernate:
http://www.hibernate.org/6.html

Flw!

thiagoaugs

Ola…Adilson…

poste os codigos e o hibernate conf… para darmos uma olhada…

abraco

A

Então eu fiz esse processo de remover e instalar de novo mas não deu certo.

Coloquei todos os jar que tem nas pastas do hibernate, vraptor, jstl. Todos os jar, que a apostila mandou.

Mas alguma ajuda por favor.

A

Segue:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.password">minha senha</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost/teste</property>
        <property name="hibernate.connection.username">meu usuario</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        
        
        <mapping class="br.com.caelum.lojavirtual.modelo.Usuario"/>
    </session-factory>
</hibernate-configuration>
A

Dentro do hibernate-entitymanager tinha uma pasta com alguns jar que eu não tinha colocado ai eu acrescentei e deu certo.

Só que apareceu esses erros aqui.

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.

Alguém pode me ajudar por favor!

skalinichenko

Então Adilson…

A exceção mostrada NoClassDefFounError é lançada no Java, quando a classe que está sendo utilizada, não foi encontrada (não está no CLASSPATH).
Isso é corrigido, adicionando a Classe ou no seu caso, o JAR no CLASSPATH.
Tente adicionar todos os JARs ao seu CLASSPATH e depois diga o que aconteceu.
Flw!

skalinichenko

skalinichenko:
Então Adilson…

A exceção mostrada NoClassDefFounError é lançada no Java, quando a classe que está sendo utilizada, não foi encontrada (não está no CLASSPATH).
Isso é corrigido, adicionando a Classe ou no seu caso, o JAR no CLASSPATH.
Tente adicionar todos os JARs ao seu CLASSPATH e depois diga o que aconteceu.
Flw!

Retificando…
A exceção mostrada NoClassDefFoundError

skalinichenko

Estes erros, é porque você não tem nenhum arquivo de log configurado.
Se você está estudando pela apostila da Caelum, a mesma informa sobre esse WARNING.
Para o mesmo não aparecer, basta configurar algum log para a classe, utilizando log4j! Pois como você pode ver, entre os JARs que você adicionou, o Hibernate utiliza o log4j.jar também e então você pode utilizar o mesmo!
A apostila não cobre esse assunto (ou cobre? Não lembro!), mas você encontrará muitos exemplos na internet (coloquei em anexo, um documento com uma pequena introdução ao LOG4J)

Flw!

A

removi todos os jar do classPath e coloquei de novo, continua a mesma coisa.

tem mais alguma dica por favor.

Muito obrigado pela força!!

A

Muito obrigado vou dar uma lida.

Mais uma vez muito obrigado pelas dicas!!!

A

Consegui deu certo faltava um arquivo chamado log4j.properties que coloquei dentrro da pasta src.

Blz maravilha.!!!

Ai amigo muito obrigado pela dica, valeu memso estou feliz desde ontem tentando!!! :smiley: :thumbup:

skalinichenko

Adilson_java:
Muito obrigado vou dar uma lida.

Mais uma vez muito obrigado pelas dicas!!!

Blz Adilson…
Qualquer dúvida, é só postar!
Flw e boa sorte!

Kleber-rr

Olá pessoal, estou com a mesma dificuldade do colega, mas não consegui resolver com as sugestões... sei que o post é bem antigo, mas se alguem puder me ajudar, agradeço.

Só pra facilitar, segue o hibernate.cfg.xml e os demais:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
		<property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/teste</property>
		<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
		<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
		<property name="hibernate.connection.username">postgres</property>
		<property name="hibernate.connection.password">postgres</property>
		<property name="hibernate.c3p0.min_size">5</property>
		<property name="hibernate.c3p0.max_size">20</property>
		<property name="hibernate.c3p0.timeout">180</property>
		<property name="hibernate.c3p0.idle_test_period">100</property>
		<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>


		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.format_sql">true</property>


		<mapping class="br.com.uirapuru.bean.Pessoa" />
		<mapping class="br.com.uirapuru.bean.Estado" />
		<mapping class="br.com.uirapuru.bean.Pais" />
		

  </session-factory>
</hibernate-configuration>
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class GeraBanco {

	public static void main(String[] args) {
		Configuration cfg = new AnnotationConfiguration();
		cfg.configure();
		SchemaExport se = new SchemaExport(cfg);
		se.create(true, true);
	}

}

Mais alguma coisa, é só pedir... Abs.

skalinichenko

Posta o erro. Sei que vc comentou que é o mesmo, mas posta aí.
Flw!

Kleber-rr

skalinichenko:
Posta o erro. Sei que vc comentou que é o mesmo, mas posta aí.
Flw!

Segue o erro:

Exception in thread "main" java.lang.NoClassDefFoundError: uirapuru/gerabanco/GeraBanco Caused by: java.lang.ClassNotFoundException: uirapuru.gerabanco.GeraBanco at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:319) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:264) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332) Could not find the main class: uirapuru.gerabanco.GeraBanco. Program will exit.

Valeu por responder.

Kleber-rr

Eae?

skalinichenko

O seu erro, é diferente do primeiro erro comentado neste tópico.

Ele não está encontrando essa sua classe.
Tenta fazer a conexão ou algo do tipo, localmente, só para testar.
Depois posta o código da classe main
Flw!

Kleber-rr

Resolvido pessoal!

O problema é que o projeto, como eu tinha importado ele já pronto e colocado o gerabanco, ele estava usando alguns jar’s da pasta TOMCAT. Foi só remover esses imports do buildPath e ele funcionou.

Valeu.

Criado 7 de janeiro de 2009
Ultima resposta 14 de jan. de 2010
Respostas 18
Participantes 4