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

Spring Boot Gradle Groovy项目添加依赖后无法连接H2数据库

Spring Boot Gradle Groovy项目H2控制台无法访问(显示Whitelabel错误页)

我在Spring Boot Gradle Groovy项目中配置H2内存数据库,已添加相关依赖,但H2数据库控制台无法启动,访问对应URL时页面显示Whitelabel Error Page。以下是我的配置文件:

build.gradle

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.3.2'
    id 'io.spring.dependency-management' version '1.1.6'
}

group = 'com.packt'
version = '0.0.1-SNAPSHOT'

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(22)
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'jakarta.persistence:jakarta.persistence-api:3.1.0'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'com.h2database:h2'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

tasks.named('test') {
    useJUnitPlatform()
}

application.properties

spring.application.name=cardatabase
server.port=8081
spring.datasource.url=jdbc:h2:mem:accounttestdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=create
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

问题解决步骤

  1. 补充Spring Data JPA Starter依赖
    你的依赖中仅引入了jakarta.persistence-api,但Spring Boot需要spring-boot-starter-data-jpa来完成数据源、H2控制台的自动配置。修改build.gradle的dependencies块:

    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-web'
        // 替换手动引入的API,改用starter
        implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
        developmentOnly 'org.springframework.boot:spring-boot-devtools'
        runtimeOnly 'com.h2database:h2'
        testImplementation 'org.springframework.boot:spring-boot-starter-test'
        testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
    }
    

    移除单独的jakarta.persistence-api依赖,避免版本冲突——spring-boot-starter-data-jpa已经包含了兼容版本的JPA API。

  2. 验证访问路径
    确保你访问的地址是http://localhost:8081/h2-console,和配置文件中spring.h2.console.path的设置完全一致。

  3. 重启应用
    若开启了DevTools,修改依赖后建议手动重启应用,确保新依赖和配置生效。

  4. 检查Java版本兼容性
    Spring Boot 3.3.2支持Java 22,通过Spring的依赖管理引入的H2版本会自动适配,这一步通常无需额外调整,优先解决依赖问题即可。

内容的提问来源于stack exchange,提问作者Soumya Ranjan Nayak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 04:00:04