Tenho uma aplicação desktop, onde utilizo sessões do hibernate. Quando eu executo pelo eclipse, roda normalmente, os mapeamentos que faço e tudo. Porém quando exporto para um arquivo .jar e vou executá-lo, exibe o seguinte erro:
java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration Exception in thread "main" java.lang.ExceptionInInitializerErro... e assim por diante.
Aqui segue o arquivo hibernate.cfg.xml:
<?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.url">jdbc:mysql://localhost/gincana?createDatabaseIfNotExist=true</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123@456</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="hbm2ddl.auto">update</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<!-- Classes -->
<mapping class="br.com.anelise.gincana.modelo.Cadastro"/>
<mapping class="br.com.anelise.gincana.modelo.Equipe"/>
<mapping class="br.com.anelise.gincana.modelo.Notas"/>
<mapping class="br.com.anelise.gincana.modelo.Prova"/>
<mapping class="br.com.anelise.gincana.modelo.PopulaCmb"/>
</session-factory>
</hibernate-configuration>
Aqui o HibernateUtil:
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
} catch (Throwable ex) {
/*
* Throwable é o pai de todas as excessões então qualquer excessão que ocorrer
* será tratada
*/
System.out.println("Erro ao iniciar o Hibernate " + ex);
throw new ExceptionInInitializerError(ex);
}
}
// se tudo der certo retorna a sessao aberta
public static Session getSession() {
return sessionFactory.openSession();
}
}