java - Spring with Gradle-H2控制台未在localhost:8080/h2-console中显示

标签 java spring spring-boot gradle h2

我下载了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'

}

这是 application.properties 文件,它是我在src / main / resources和src / test / resources中制作的
spring.datasource.name=ecommercedb
spring.jpa.show-sql=true
#H2 settings
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

我用gradle想法运行项目以更新依赖关系,然后gradlew构建和gradlew运行。没有错误,但是当我转到localhost:8080 / h2-console时,我得到的是错误的连接。我也尝试过用gradle构建。为什么会这样呢?我也使用IntelIJ,而build和gradle文件夹为红色,为什么?我正在使用此指南:https://www.baeldung.com/spring-angular-ecommerce,但是我使用自己的gradle而不是Initializr,并且我在External Libraries中拥有Gradle:com.h2.database文件,因此我认为它应该可以工作!请帮忙

最佳答案

您的Gradle构建看起来还不错,并且application.properties配置文件也正常。要使H2控制台可用,唯一要做的就是像设置属性一样设置spring.h2.console.enabled=true:这样就可以工作...您不需要配置datasource.url或凭据,Springboot将使用默认的url jdbc:h2:~/test

您应该尝试配置H2 db日志记录级别,并检查在启动应用程序或尝试访问H2控制台时是否可以看到错误/警告:在application.properties文件中添加以下属性

spring.datasource.url=jdbc:h2:~/test;TRACE_LEVEL_FILE=4

然后,在启动应用程序时,您应该看到如下痕迹:
2018-10-15 19:56:25.090 DEBUG 7576 --- [           main] h2database                               : test:jdbc[3] 
/**/conn0.clearWarnings();

尝试访问H2控制台时,您应该看到类似以下的痕迹:
 2018-10-15 19:57:21.179 DEBUG 7576 --- [nio-8080-exec-7] h2database                               : test:jdbc[13] Table      :     potential plan item cost 10 000 index meta

关于java - Spring with Gradle-H2控制台未在localhost:8080/h2-console中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52820499/

相关文章:

Java 数组串联

java - vaadin,尝试将项目添加到 sqlContainer 时获取空指针

java - 设置方法或构造函数

java - 如何在 freemarker 模板中获取主机名?

java - Spring——跳过此测试的飞路

java - 在java准备好的语句中附加单引号

java - 无法识别的字段 Jackson YAML Reader

java - 如何在 Spring 中手动定义 RestController?

java - 使用 Hibernate 回调的优点?

java - 如何使用spring DAO保存外键实体