当前位置: 首页 > 知识库问答 >
问题:

带有Gradle-H2控制台的Spring在localhost:8080/H2-console中不显示

任小云
2023-03-14
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'

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

我使用gradle idea运行project,以更新依赖项,然后使用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.数据库文件,所以我想它应该可以工作!求你了,救命

共有1个答案

庄文栋
2023-03-14

您的Gradle构建看起来很好,application.properties配置文件也很好。要使H2控制台可用,唯一要做的就是设置属性spring.H2.console.enabled=true,就像您所做的那样:所以它应该工作...您不需要配置datasource.url或凭据,Springboot将使用默认urljdbc: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();
 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
 类似资料:
  • 使用webflux时,无法在localhost:8080/H2控制台访问H2 db。我在某处读到,这只有在开发基于Servlet的应用程序时才可用。但我正在使用Webflux和Netty。那么,有没有办法在这样的应用程序中查看h2控制台呢?

  • 使用和启动H2管理系统 H2 管理系统让你能够通过一个浏览器对 H2 的 SQL 数据库进行管理操作。H2 管理系统不仅可以连接 H2 数据库,也可以连接其他支持 JDBC API 的数据库。 这是一个 C/S 应用,在服务器和客户端(浏览器)上都要运行 H2 的管理程序。根据平台不同,H2 管理系统支持多种启动应用的方式: 操作系统 启动 Windows 点击 [Start], [All Pro

  • 我也搜索了一些谷歌解决方案,但它不工作输入图像描述在这里

  • 我在SpringBoot api上工作,并使用具有以下属性设置的H2数据库。 当我想使用浏览器通过'http://localhost:8082/h2-console'查看H2数据库控制台时,浏览器中打开了一个带有连接和测试连接按钮的屏幕。当我单击Test Connection时,它返回成功,但当单击Connect按钮时,出现错误,即localhost拒绝连接。

  • 我的控制台: 我的“application.properties”现在处于默认状态: mydb.sql: 有线索吗?谢谢

  • 有人知道为什么吗?我该怎么解决?