【问题标题】:java.lang.ClassNotFoundException: Could not load requested class : org.postgresql.Driverjava.lang.ClassNotFoundException:无法加载请求的类:org.postgresql.Driver
【发布时间】:2020-01-14 15:00:20
【问题描述】:

我的问题是当我在我的 Bean 中创建一个 DAO 实例时

public class ClientDAO {
        EntityManager entity=JPAutil.getEntityManegerFactory().createEntityManager();

    public void create(Client client){
        entity.getTransaction().begin();
        entity.persist(client);
        entity.getTransaction().commit();
        JPAutil.shotDown();
    }
    public void update(Client client){
        entity.getTransaction().begin();
        entity.merge(client);
        entity.getTransaction().commit();
        JPAutil.shotDown();
    }
    public void find(int id){
        entity.getTransaction().begin();
        entity.find(Client.class,id);
    }
    public List<Client> findall(){
            List<Client> listaC= new ArrayList<Client>();
            Query q=entity.createQuery("SELECT c FROM Client c");
            listaC = q.getResultList();
            return listaC;
    }
    public Client findbyId(int idc){
        Client C= new Client();
        Query q=entity.createQuery("SELECT c FROM Client c WHERE id="+idc);
        C = (Client) q.getSingleResult();
        return C;
    }
}

我尝试运行应用程序,但在服务器中遇到了崩溃

Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [org.postgresql.Driver]
    at org.hibernate@5.3.13.Final//org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:134)
    at org.hibernate@5.3.13.Final//org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.loadDriverIfPossible(DriverManagerConnectionProviderImpl.java:163)
    at org.hibernate@5.3.13.Final//org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildCreator(DriverManagerConnectionProviderImpl.java:119)
    at org.hibernate@5.3.13.Final//org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:103)
    at org.hibernate@5.3.13.Final//org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:75)
    at org.hibernate@5.3.13.Final//org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:100)
    at org.hibernate@5.3.13.Final//org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:246)
    at org.hibernate@5.3.13.Final//org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
    at org.hibernate@5.3.13.Final//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145)
    at org.hibernate@5.3.13.Final//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66)
    at org.hibernate@5.3.13.Final//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
    at org.hibernate@5.3.13.Final//org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:94)
    at org.hibernate@5.3.13.Final//org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263)
    ... 98 more
Caused by: java.lang.ClassNotFoundException: Could not load requested class : org.postgresql.Driver
    at org.hibernate@5.3.13.Final//org.hibernate.boot.registry.classloading.internal.AggregatedClassLoader.findClass(AggregatedClassLoader.java:210)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:398)
    at org.hibernate@5.3.13.Final//org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:131)
    ... 110 more

感谢您的宝贵时间。

Pom.xml 我已经使测试和本地 JPA 工作没有问题问题是当我尝试在服务器中使用它时。在这个 Pom 中有一个 Driver von Postgres 和连接器 Hibernate。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>groupId</groupId>
    <artifactId>pruebe</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!---Servlet-->
    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>8.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.4.10.Final</version>
        </dependency>
        <dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.1-901.jdbc4</version>
            <scope>compile</scope>
        </dependency>

    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>  
</project>```


【问题讨论】:

  • 你的 gradle 或 pom 文件是否有 postresql 依赖?
  • 添加配置文件数据源
  • 大家好,感谢您的回答我在我的 maven 中有依赖项。我要添加一张关于那个的照片。 =D

标签: jpa driver classnotfoundexception


【解决方案1】:

您需要将 JDBC 驱动程序连接到您的项目中的数据库,您可以从这里下载 https://jdbc.postgresql.org/

【讨论】:

  • 我在 POM 依赖项中有驱动程序。这是有问题的,问题是当我在我的 Bean 中创建 DAO 的实例时。非常感谢你的回答。 =D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-14
  • 1970-01-01
  • 1970-01-01
  • 2021-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多