java.lang.ClassNotFoundException: org.hibernate.HibernateException
Ich bin mit einer web-Anwendung mit hibernate und stecken auf diese Ausnahme. Jede Hilfe bitte?
java.lang.ClassNotFoundException: org.hibernate.HibernateException
bei org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
bei org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
bei com.forum.dao.TopicDAO.findAll(TopicDAO.java:43)
bei com.forum.servlets.Accueil.doGet(Accueil.java:23)
bei javax.- servlet.http.HttpServlet.service(HttpServlet.java:621)
bei javax.- servlet.http.HttpServlet.service(HttpServlet.java:728)
bei org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
bei org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
bei org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
bei org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
bei org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
bei org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
bei org.apache.catalina.Ventile.ErrorReportValve.invoke(ErrorReportValve.java:99)
bei org.apache.catalina.Ventile.AccessLogValve.invoke(AccessLogValve.java:953)
bei org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
bei org.apache.catalina.- Anschluss.CoyoteAdapter.service(CoyoteAdapter.java:408)
bei org.apache.coyote.http11.AbstractHttp11Processor.Prozess(AbstractHttp11Processor.java:1008)
bei org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.Prozess(AbstractProtocol.java:589)
bei org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
bei java.util.gleichzeitige.ThreadPoolExecutor.runWorker(Unknown Source)
bei java.util.gleichzeitige.ThreadPoolExecutor$Worker.run(Unknown Source)
bei java.lang.Thread.run(Unknown Source)
Hier ist TopicDAO.findALL()
public static List<Topic> findAll() {
Session s = HibernateUtils.getSession(); //TopicDAO.java:43
Transaction tx = s.beginTransaction();
List<Topic> objects = null;
Query q = s.createQuery("from Topic");
objects = q.list();
tx.commit();
return objects;
}
Und, hier ist meine servlet.doGet()
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
HttpSession session = request.getSession();
TopicDAO td = new TopicDAO();
List<Topic> listTopics = td.findAll();
session.setAttribute( ATT_LIST_TOPICS, listTopics );
this.getServletContext().getRequestDispatcher( ACCUEIL ).forward( request, response );
}
Hier ist meine hinzugefügten Hibernate-Bibliotheken:
- Sie müssen sicherstellen, dass alle Abhängigkeiten (externe jar -) und Sie sind in Ihren Klassenpfad ein. Wenn Sie nicht vertraut sind, wie Sie setup Ruhezustand Lesen Sie diese: docs.jboss.org/hibernate/orm/4.2/quickstart/en-US/html/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erklärung:
Einen ClassDefNotFound Ausnahme bedeutet, dass Sie Ihr Programm nicht in der Lage war zu
finden erforderlich .class-Datei aus der referenzierten Bibliotheken.
In Ihrem Fall die hibernateX.jar Datei ist nicht verpackt in Ihrem
war-Datei.
Was Sie tun müssen, ist, um es der
WEB-INF/lib
Ordner Ihrerwar-Datei.
Lösung (mit IntelliJ):
öffnen, Projekt-Struktur
wählen Sie Artefakte von der linken Seite Optionen
vom Ihre war-Datei in den OutputLayout Registerkarte durchsuchen, um
WEB-INF/lib
fügen Sie die Bibliothek mit hibernateX.jar in den Ordner
bereitstellen Ihres Projekts.
Lösung (mit Eclipse):
WEB-INF/lib
Sehe ich ein paar Bibliotheken fehlen. Ich habe diese und es funktioniert Prima. Btw. welche Datenbank verwenden Sie? PostgreSQL? Ansonsten müssen Sie auch die JDBC-Treiber für Ihre Datenbank. Bitte beachten Sie, dass einige von diesen sind erforderlich für den Ruhezustand verwenden, durch PPV.
Manchmal könnte es werden als Ergebnis von widersprüchlichen hibernate-Bibliotheken in das lokale maven-repo. Ich hatte dieses Problem und nach dem Versuch alles, was hier vorgeschlagen wird, die nicht für mich arbeiten, ich hatte zu greifen, um zu löschen alles, was in der hibernate-Ordner, die enthalten mehrere Versionen von hibernate in meinem maven local repo. Und nach, dass alles funktioniert gut für mich
[Für Eclipse-IDEs]
Ich lief in ähnliche Probleme, ich habe alles versucht, aus den zahlreich maven-clean, installiert und aktualisiert werden, um die Umstellung Arbeitsbereiche, die Reinigung der classpath oder Wechsel der java-version, aber es konnte nur gelöst werden, wie es folgt:
-diese Ausnahme ist möglicherweise auch das Ergebnis manuell erstellen Sie den Tomcat-server, wo die benötigten Abhängigkeiten werden nicht bereitgestellt auf, auch wenn die verwendeten Gläser sind die im aktuellen Projekt. Um dies zu tun, müssen Sie beheben die Konfiguration des Servers und auf die Projekte.
Server-Eigenschaften
Runnings Konfiguration
versuchen Sie, hinzufügen jar-Dateien in
webContent/WEB-INF/lib
. Das sollte funktionieren die meisten wahrscheinlich. Manchmal überwintern ist nicht in der Lage zu finden, die erforderlichen jar-Dateien. Also, Sie haben, hinzufügen jar-Dateien und geben Sie den richtigen Pfad für die.