2012-03-24 19 views
10

Estoy intentando hacer una configuración inicial con Hibernate en Eclipse, mientras estoy implementando con Tomcat.java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration

me encontré con el siguiente problema:

java.lang.ClassNotFoundException: org.hibernate.cfg.Configuration 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546) 
    db.HibernateUtil.buildSessionFactory(HibernateUtil.java:13) 
    db.HibernateUtil.<clinit>(HibernateUtil.java:8) 

He Goggled mi problema en línea y entiendo que tiene algo que hasta Con la ruta de clase del proyecto.

He agregado una biblioteca de usuario a mi proyecto que contiene todos los archivos jar en el directorio "requerido" en la descarga de hibernación, pero parece que no funciona.

Por favor, encontrar una captura de pantalla de mi proyecto here:

+0

¿Has intentado poner tus jar de hibernación directamente en la ruta de compilación? –

+0

De acuerdo con su imagen adjunta, creo que su entrada DOCTYPE en su archivo hibernate.cfg.xml. Reemplazar con inscripción más abajo y probarlo .. kandarp

Respuesta

23

que está recibiendo el error porque las bibliotecas de hibernación no están disponibles para Tomcat. En su imagen, debajo del conjunto de bibliotecas de hibernación hay un conjunto vacío llamado 'Bibliotecas de aplicaciones web' - este es el conjunto en el que deben estar sus bibliotecas de hibernación.

Haga clic derecho en su proyecto -> Ruta de compilación -> Configurar ruta de compilación y eliminar el conjunto de hibernación de la ruta de compilación. Ahora importe los archivos jar a la carpeta WEB-INF/lib. Actualice su proyecto y ahora debería verlos en la lista del conjunto de 'Bibliotecas de aplicaciones web' (aprecio que esto es algo molesto de tener que importarlos a su base de códigos; alguien más podría saber una mejor manera de hacerlo que no involucrar a copiar los frascos en)

+0

¡Funcionó! ¡¡¡muchas gracias!!! – Blue

+0

Después de hacer esto, ¿dónde debe colocar el archivo de configuración de hibernación? – gmustudent

+0

@Chris White ¿qué hay de IntelliJ IDEA? – aircraft

17

Este error puede suceder cuando los archivos jar no ha sido exportado con su archivo web. Puede hacer lo que dijo @Chris White o puede seguir los pasos a continuación si está utilizando Eclipse.

Right click the project -> Build Path -> Configure Build Path

En la lista en el lado izquierdo, haga clic en Asamblea despliegue. Haga clic en el botón "Agregar". Seleccione "entradas de ruta de compilación de Java" y haga clic en siguiente. Ahora seleccione sus archivos jar de hibernación o biblioteca. Haga clic en finalice. Luego haga clic en Ok.
Reinicie el servidor si es necesario.

+1

Sí, esto fue realmente útil. +1 –

+1

Muchas gracias! ¡Funcionó para mí! – Vijay

+1

Esta solución es más elegante ya que no requiere copiar la biblioteca en el proyecto. Creo que es mejor reutilizar las dependencias del contenedor en lugar de copiarlas todo el tiempo. –

2

Manera más simple que Chris White's way.

You're getting the error because the hibernate libraries are not available to Tomcat. Right click your project -> Build Path -> Configure Build Path, and remove the hibernate set from the build path.

Haz lo mismo, pero en lugar de importar los frascos cada vez para un nuevo proyecto, ** copiar los frascos de hibernación en la carpeta de la liberación de Apache Tomcat ** (o lo que sea el servidor u está utilizando).

Cuestiones relacionadas