resources/hibernate.cfg.xml nicht gefunden
Bin ich mit dem lernen von Hibernate in der Java-web-app. Ich habe Folgendes sessionFactory begann mit einer Konfiguration für die Lage meiner hibernate.cfg.xml Datei, aber es beschwert sich trotzdem: resources/hibernate.cfg.xml not found
Die "Ressourcen" - Ordner ist ein Unterverzeichnis von meinen "src" Ordner in das java-Projekt.
public class HibernateUtil
{
private static final SessionFactory sessionFactory = new Configuration().configure("resources/hibernate.cfg.xml").buildSessionFactory();
public static void main(String[] args)
{
Session session = sessionFactory.getCurrentSession();
Transaction tx = session.beginTransaction();
Book book1 = new Book("John Wright", "Unknown Title");
session.save(book1);
tx.commit();
System.out.println("Book committed: book title: " + book1.getTitle() + ", author is: " + book1.getAuthor());
sessionFactory.close();
}
}
Den hibernate-Abhängigkeit bin ich mit meiner pom.xml ist wie folgt, aber intelliJ warnt, dass die buildSessionFactory () - Methode ist deprecated durch markieren eines "Durchgestrichen"
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.5.Final</version>
</dependency>
Ich bin Entsendung der Fehlermeldung meine ich an der Unterseite als gut. Was mache ich falsch? Dank
10:43:12.737 [main] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
10:43:12.746 [main] INFO org.hibernate.Version - HHH000412: Hibernate Core {4.3.1.Final}
10:43:12.747 [main] INFO org.hibernate.cfg.Environment - HHH000206: hibernate.properties not found
10:43:12.749 [main] INFO org.hibernate.cfg.Environment - HHH000021: Bytecode provider name : javassist
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:259)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:116)
Caused by: org.hibernate.HibernateException: resources/hibernate.cfg.xml not found
at org.hibernate.internal.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:173)
at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:2093)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2074)
at persistence.HibernateUtil.<clinit>(HibernateUtil.java:14)
... 3 more
10:43:12.763 [main] INFO org.hibernate.cfg.Configuration - HHH000043: Configuring from resource: resources/hibernate.cfg.xml
10:43:12.763 [main] INFO org.hibernate.cfg.Configuration - HHH000040: Configuration resource: resources/hibernate.cfg.xml
Process finished with exit code 1
- Nur um sicher zu gehen, die hibernate.cfg.xml in src/main/resources? Maven ist sehr insbesondere mit der Projekt-Struktur...
- Nein, es ist src/Ressourcen, aber auch wenn ich mich bewege Ressourcen src/main, gleicher Fehler weiterhin besteht
- Hast du das setup Maven zu gehören, die in der letzten build dann? In der Regel Maven src/main/java für alle java-Dateien und src/main/resources für alle anderen Dateien. Mit dieser Struktur von Maven automatisch weiß, wo alles ist und dass Sie alle aufgenommen werden müssen. Außerdem, wenn man es in src/main/resources, Sie würde nicht geben Sie es als .konfigurieren("resources/hibernate.cfg.xml") sondern als .konfigurieren("hibernate.cfg.xml") es sei denn, Sie machen die Ordner unter dem Ordner Ressourcen.
- funktioniert immer noch nicht mit .konfigurieren("hibernate.cfg.xml"), danke
- Auch nach dem verschieben der Datei src/main/resources?
- ja, ich zog die Dateien unter Ressourcen auf dem Pfad src/main/resources
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre hibernate-config-Datei nicht gefunden werden, weil es nicht in die root des classpath, wenn die webapp gestartet wird...
Wenn Sie mit Maven, setzen die hibernate.cfg.xml Datei src/main/resources-Ordner sollte dazu führen, dass es automatisch kopiert, um WEB-INF/classes in der war-Datei. Öffnen Sie Ihre war-Datei und sehen, wo die hibernate.cfg.xml platziert wird.
Wenn die hibernate.cfg.xml Datei ist NICHT in Ihrer war-Datei ... überprüfen Sie die maven-war-plugin-Einstellungen in Ihrem POM.
Bezüglich der deprecation-Warnung, laut der 4.3 Dokumentation, buildSessionFactory() ist veraltet und Sie sollten mit buildSessionFactory(ServiceRegistry) statt.
danke an Euch alle für die Antworten.
Schließlich habe ich es herausgefunden. Unten ist meine Konfiguration in meinem HibernateUtil-Klasse. Denn ich bin mit Hibernate 4.3.5, ich habe ersetzt die veralteten Methoden mit den neusten haben. Auch ich zog meine hibernate.cfg.xml zu
src/main/java/resources
.