首页 > 解决方案 > Spring with Gradle - H2 控制台未显示在 localhost:8080/h2-console

问题描述

我下载了 gradle 并创建了指向现有 gradle 文件的新项目。现在我想连接到 H2.database。这是我的build.gradle文件:

plugins {
    id 'java'
    id 'org.springframework.boot' version '2.0.5.RELEASE'
    id "io.spring.dependency-management" version "1.0.6.RELEASE"
}
apply plugin: 'application'
apply plugin: 'idea'
group 'shop.hello.manualgradle'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8
mainClassName = 'hello.HelloWorld'

repositories {
    mavenCentral()
}

jar {
    baseName = 'gs-gradle'
    version = '0.1.0'
}
dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile group: 'joda-time', name: 'joda-time', version: '2.2'
    compile 'org.springframework.boot:spring-boot-starter-web'
    compile 'org.springframework.boot:spring-boot-starter-data-jpa'
    compile 'com.h2database:h2'
    compile 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'

}

这是我在 src/main/resources 和 src/test/resources 中创建的application.properties文件

spring.datasource.name=ecommercedb
spring.jpa.show-sql=true
#H2 settings
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

我用 gradle idea 运行项目以更新依赖项,然后 gradlew build 和 gradlew run。没有错误,但是当我转到 localhost:8080/h2-console 时,我得到的只是连接错误。我也尝试过使用 gradle build。为什么会这样?我也使用 IntelIJ,并且我有红色的 build 和 gradle 文件夹,为什么?我正在使用本指南:https : //www.baeldung.com/spring-angular-ecommerce,但我使用自己的 gradle 而不是 Initializr,并且我在外部库中有 Gradle:com.h2.database 文件,所以它应该可以工作思考!请帮忙

标签: javaspringspring-bootgradleh2

解决方案


我遇到了同样的问题,发现spring.h2.console.path=/h2-console我的 application.properties 文件中有尾随空格。这导致它路由不正确。这是一个很老的问题,但我想我会添加为我解决问题的方法。


推荐阅读