2016-12-08 2 views
0

Ich habe ein Maven-Projekt, das Hibernate und PostgreSQL verwendet, und es funktioniert gut für sich. Jetzt möchte ich einige Klassen aus diesem Projekt (im Wesentlichen die Datenbank) in einem Servlet verwenden, aber jetzt brechen die Dinge.Servlet referenziert ein Maven-Projekt - NoClassDefFoundError

Ich bekomme einen java.lang.NoClassDefFoundError: javax/persistence/Persistence Fehler beim Zugriff auf das Servlet in Tomcat.

Ich denke, dass die Maven-Abhängigkeiten irgendwie nicht zum Servlet-Projekt "weitergeleitet" werden, aber ich weiß nicht, was ich dagegen tun soll. Ich habe das Maven-Projekt dem Servlet-Build-Pfad und seiner "Web Deployment Assembly" hinzugefügt ... was muss ich noch tun?

+0

Mögliches Duplikat von [java.lang.ClassNotFoundException: javax.persistence.Persistence kann nicht mit JPA gefunden werden] (http://stackoverflow.com/questions/25639515/java-lang-classnotfundexception-javax-persistence-persistence-cannot -be-found) – Arpit

Antwort

0

Bitte versuchen Sie diese Abhängigkeit.

<dependency> 
<groupId>org.hibernate.javax.persistence</groupId> 
<artifactId>hibernate-jpa-2.0-api</artifactId> 
<version>1.0.1.Final-redhat-3</version> 
</dependency> 
+0

Wie gesagt, die Abhängigkeiten sind in Ordnung, wenn das Maven-Projekt alleine läuft, aber aus irgendeinem Grund werden sie vermasselt, wenn ich das Projekt von einem Servlet-Projekt verwende ... – BadCash

0

1.Überprüfen für alle Gläser, stellen Sie sicher, dass alle Abhängigkeiten hinzugefügt werden.

2.Clean Ihr Kater

Versuchen Hinzufügen Runtime Abhängigkeiten.

3.Right auf Ihrem Projekt klicken und wählen Sie Einstellungen-> Deployment Assembly

  • Klick auf
  • wählen Sie Java Build Path Einträge hinzufügen
  • wählen Maven Abhängigkeiten
  • Fertig

Führen Sie den Server erneut aus.

Hoffe das hilft !!

Verwandte Themen