You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot应用集成H2数据库时出现org.apache.derby.iapi.jdbc.AutoloadedDriver类未找到错误求助

解决Spring Boot中H2数据库报错:Class "org.apache.derby.iapi.jdbc.AutoloadedDriver" not found [90086-214]

这个错误我之前排查过,本质是H2数据库尝试加载Derby的驱动类,但你的项目里并没有引入Derby依赖导致的。常见的触发场景和解决办法如下:

1. 检查H2控制台的JDBC URL是否正确

你大概率是在H2控制台输入了Derby格式的JDBC URL,或者配置了错误的连接参数。

  • 确保使用H2原生的URL格式:
    • 内存数据库:jdbc:h2:mem:testdb(Spring Boot默认的内存库名)
    • 文件数据库:jdbc:h2:file:./your-db-path
  • 不要使用Derby的URL格式(比如jdbc:derby:...),也不要在URL里加MODE=Derby这类兼容参数——这会让H2切换到Derby兼容模式,强制加载Derby的驱动类。

2. 核对Spring Boot的数据源配置

检查你的application.properties或application.yml里的数据源配置,确保没有错误指向Derby:

# 正确的H2配置示例
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.h2.console.enabled=true

如果之前配置了spring.datasource.driver-class-name为Derby的驱动类,一定要改成org.h2.Driver。

3. 确保项目依赖只引入H2,不要Derby

打开你的构建文件(Maven的pom.xml或Gradle的build.gradle),确认只有H2的runtime依赖,没有多余的Derby依赖:

Maven示例:

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

Gradle示例:

runtimeOnly 'com.h2database:h2'

如果不小心引入了Derby依赖,直接删除即可。

4. 清理缓存并重启应用

有时候IDE的缓存会导致配置不生效,建议:

  • 清理项目缓存(比如IntelliJ IDEA选File -> Invalidate Caches... -> Invalidate and Restart)
  • 重新构建项目并启动Spring Boot应用,再打开H2控制台测试连接

内容的提问来源于stack exchange,提问作者rambiyani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 20:59:07