You need to enable JavaScript to run this app. Spring JPA整合PostgreSQL报错:无法加载org.postgresql.Driver
优惠活动
大模型
产品
解决方案
定价
更多

Spring JPA整合PostgreSQL报错:无法加载org.postgresql.Driver

异常根因定位

从异常堆栈的最底层根因来看,报错的直接触发点是Hikari数据源初始化时,执行驱动类校验逻辑抛出Cannot load driver class: org.postgresql.Driver——也就是说Spring在当前运行时类路径下找不到PostgreSQL的JDBC驱动类,导致数据源Bean创建失败,连锁引发JPA配置类的依赖注入失败。
结合你贴出的POM和配置文件,可定位到两类问题:

直接触发类加载失败的诱因

  • 你在POM中为postgresql依赖设置了runtime作用域,这类作用域的依赖在以下场景会被排除出运行时类路径:
    • 本地Maven仓库中postgresql对应的jar包下载损坏,文件大小远小于正常大小,实际类文件缺失
    • 多模块项目中,postgresql依赖被全局排除规则拦截,没有传递到当前启动模块的依赖链路中
    • IDE的运行配置没有正确纳入runtime范围的依赖,部分旧版IDE配置在运行Spring Boot应用时会误裁剪runtime类路径
    • 由于你没有给postgresql依赖显式指定版本,完全依赖Spring Boot父工程的依赖管理兜底,如果自定义的父POM、BOM导入逻辑覆盖了postgresql的坐标版本,拉取到了不存在的版本号,也会导致类加载失败

配置文件的潜在错误(驱动问题修复后依然会引发异常)

你的application.properties存在两处明显的书写错误:

  • 出现了笔误生成的无效配置项spring.jpa.database-platform.hibernate.ddl-auto=none,这个配置键完全不符合Spring Boot的配置规范,不会被任何组件解析
  • 配置逻辑存在冲突倾向:已经显式设置了spring.jpa.hibernate.ddl-auto=create,如果误把上面那行笔误修正为正确的spring.jpa.hibernate.ddl-auto=none路径,就会出现同一配置项重复赋值的冲突
排查修复步骤

按操作优先级排序:

  1. 验证依赖加载链路
    • 在项目根目录执行mvn dependency:tree,在输出结果中搜索postgresql,确认该依赖正常存在于当前模块的依赖树中,没有被排除规则过滤
    • 找到本地Maven仓库下postgresql依赖的存储路径,检查对应jar包的文件大小(正常jar包大小在1MB以上,如果文件仅几KB即为下载损坏,删除对应目录后重新执行Maven依赖拉取即可)
    • 如果是在IDE环境启动,重新加载Maven项目、新建独立的Spring Boot启动配置,避免旧配置的类路径裁剪问题;可临时把postgresql依赖的scope从runtime修改为compile做验证,确认能正常启动后再改回runtime(Spring Boot打可执行jar时会正确包含runtime范围的依赖,临时改scope只是为了快速验证类路径问题)
  2. 清理错误的配置项
    删除那行笔误生成的无效配置,修正后的有效配置如下:
    spring.datasource.driver-class-name=org.postgresql.Driver
    spring.datasource.url=jdbc:postgresql://localhost:5432/estudos
    spring.datasource.username=postgres
    spring.datasource.password=postgres
    spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
    spring.jpa.generate-ddl=false
    spring.jpa.hibernate.ddl-auto=create
    spring.jpa.properties.hibernate.show_sql=true
    spring.jpa.properties.hibernate.format_sql=false
    
  3. 启动校验
    确认本地PostgreSQL服务正常启动、端口为5432、存在名为estudos的数据库、账号密码匹配配置项后,重启应用即可完成数据源和JPA的初始化。

内容的提问来源于stack exchange,提问作者André Luís Oliveira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.27 17:24:00