Hibernate: Problem mit dem PostgreSQL-Treiber

Ich weiß, dass es bereits ähnliche Fragen gibt, aber die Antworten dort haben mir nicht geholfen. Würde es Ihnen etwas ausmachen, sich meine spezielle Frage anzuschauen?

Ich habe noch keine große Erfahrung mit Hibernate und habe ein Problem beim Versuch, Testdaten für meine lokale Datenbank mit Hibernate 4.3 und PostgreSQL zu erstellen.

Ich hatte ein anderes Projekt, in dem ich das genau so gemacht habe und dort hat es funktioniert, also habe ich genau das gleiche Setup gemacht, aber mit einer anderen Datenbank, aber jetzt in meinem aktuellen Projekt bekomme ich die folgende Ausnahme:

exception.DBException: Could not configure Hibernate!
    at dao.BenutzerDAO.<init>(BenutzerDAO.java:48)
    at export.ExportDBSchema.main(ExportDBSchema.java:16)
Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [org.postgresql.Driver]
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:245)
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.loadDriverIfPossible(DriverManagerConnectionProviderImpl.java:200)
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildCreator(DriverManagerConnectionProviderImpl.java:156)
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:95)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
    at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
    at dao.BenutzerDAO.<init>(BenutzerDAO.java:45)
    ... 1 more
Caused by: java.lang.ClassNotFoundException: Could not load requested class : org.postgresql.Driver
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:230)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:340)
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:242)
    ... 15 more

Ich habe nach möglichen Lösungen gesucht, aber keine davon hat für mich funktioniert:

-) Classpath to jar in Manifest.mf angeben -> Hat nicht funktioniert -) Die Datei postgresql-9.4.1208.jre6.jar im Ordner lib unter WEB-INF ablegen -> Hat nicht funktioniert -) Die Datei hibernate.cfg.xml angeben in Konfiguration (). configure (); -> Hat nicht funktioniert

Ich verwende Glassfish 4.1 und die org.postgres.Driver.class ist vorhanden. Warum wurde sie nicht gefunden?

Meine hibernate.cfg.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
    <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
    <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/Testdb</property>
    <property name="hibernate.connection.username">username</property>
    <property name="hibernate.hbm2ddl.auto">create-drop</property>
    <property name="hibernate.connection.password">password</property>
    <mapping class="entity.Benutzer"/>
  </session-factory>
</hibernate-configuration>

Methode in der DAO-Klasse, in der die Ausnahme auftritt:

try {
            if (sessionFactory == null) {
                Configuration conf = new Configuration().configure();

                StandardServiceRegistryBuilder builder
                        = new StandardServiceRegistryBuilder();
                builder.applySettings(conf.getProperties());

                sessionFactory = conf.buildSessionFactory(builder.build());
            }
        } catch (Throwable ex) {
            throw new DBException("Could not configure Hibernate!", ex);
        }

Ich wäre für jede Antwort sehr dankbar.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage