2012-03-24 14 views
10

Ich versuche eine erste Einrichtung mit Hibernate in Eclipse, während die Bereitstellung mit Tomcat.java.lang.NoClassDefFoundError: org/hibernate/cfg/Konfiguration

begegnete ich folgendes Problem:

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) 

ich mein Problem Online glotze habe, und ich verstehe, dass es etwas mit dem Projekt Klassenpfad zu hat.

Ich habe meinem Projekt eine Bibliothek hinzugefügt, die alle JAR-Dateien im Verzeichnis "required" im Hibernate-Download enthält, aber das scheint nicht zu funktionieren.

finden Sie einen Screenshot von meinem Projekt here:

+0

Haben Sie versucht, Ihre Hibernate-Jars direkt in den Build-Pfad zu versetzen? –

+0

Wie in Ihrem angehängten Bild, denke ich Ihren DOCTYPE-Eintrag in Ihrer Hibernate.cfg.xml-Datei. Durch folgenden Eintrag ersetzen und testen .. kandarp

Antwort

23

Sie bekommen den Fehler, da die Hibernate-Bibliotheken Tomcat nicht verfügbar sind. In Ihrem Bild unterhalb der Hibernate-Bibliothek befindet sich ein leerer Satz namens "Web App Libraries" - das ist der Satz, in dem sich Ihre Hibernate-Bibliotheken befinden müssen.

Klicken Sie mit der rechten Maustaste auf Ihr Projekt -> Build Path -> Build Path konfigurieren , und entfernen Sie den Ruhezustand aus dem Erstellungspfad. Importieren Sie nun die JAR-Dateien in den Ordner WEB-INF/lib. Aktualisieren Sie Ihr Projekt und jetzt sollten Sie sie in den 'Web App Libraries' aufgelistet sehen (ich schätze es ist etwas ärgerlich, dass Sie sie in Ihre Codebasis importieren müssen - jemand anders könnte einen besseren Weg kennen, dies nicht zu tun verwickeln Kopieren Sie die Gläser in)

+0

Gearbeitet! vielen Dank!!! – Blue

+0

Nach diesem Schritt, wo sollten Sie die Winterschlaf-Konfigurationsdatei platzieren? – gmustudent

+0

@Chris Weiß wie wäre es mit IntelliJ IDEA? – aircraft

17

Dieser Fehler kann passieren, wenn Sie Ihre jAR-Dateien nicht gewesen exportierte mit Ihrem Webarchiv. Sie können tun, was @Chris White gesagt hat, oder Sie können die folgenden Schritte befolgen, wenn Sie Eclipse verwenden.

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

in der Liste auf der linken Seite, klicken Sie auf Deployment Assembly. Klicken Sie auf "Hinzufügen" Schaltfläche. Wählen Sie "Java Build Path Einträge" und klicken Sie nächste. Wählen Sie nun Ihre Hibernate-JAR-Dateien oder -Bibliothek aus. Klicken Sie auf Ende. Klicken Sie dann auf Ok.
Starten Sie den Server bei Bedarf neu.

+1

Ja, das war wirklich hilfreich. +1 –

+1

Vielen Dank !!! Es hat für mich funktioniert !!! – Vijay

+1

Diese Lösung ist eleganter, da es nicht erforderlich ist, die Bibliothek im Projekt zu kopieren. Ich finde es besser, Abhängigkeiten vom Container wiederzuverwenden, anstatt sie ständig zu kopieren. –

2

Einfacher Weg als Chris Whites Weg.

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.

die gleichen Sachen tun, sondern die Gläser jedes Mal für ein neues Projekt zu importieren, ** die erforderlichen Hibernate Gläser in Ordnern lib Apache Tomcat kopieren ** (oder was auch immer der Server u verwenden).

Verwandte Themen