无法使用 SpringBoot 访问 H2 数据库控制台



我有基本的SpringBoot应用程序。我遵循本教程:https://www.baeldung.com/spring-boot-h2-database用于从头开始创建,但当我完成所有步骤并尝试访问h2控制台时。它向我展示了";无法访问此网站";。首先,我尝试了默认路径:http://localhost:8080/h2-控制台,然后我添加到我的application.properties文件-server.contextPath="api";和server.port=8090,以确保该端口未被使用,但仍然无法访问h2控制台。

这是我的pom.xml文件:

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>gtech</groupId>
<artifactId>agriculturerent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.20.Final</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

这是我的application.properties文件:

spring.datasource.url=jdbc:h2:file:./TestDb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=""
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true

主类是默认类:

@SpringBootApplication
public class AgriculturerentApplication {
public static void main(String[] args) {
SpringApplication.run(AgriculturerentApplication.class, args);
}
}

你能告诉我在访问h2控制台时哪里出了问题吗?

提前谢谢。

我也遇到了同样的问题,我解决这个问题的方法是,添加用于春季启动的开发工具,只需将其添加到com.h2database的pom.xml中即可。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>

出于一个奇怪的原因,我只是添加了";devtools";这是有效的。

如果我删除它并执行Project->clean问题再次发生。

您使用application.propiertes.中定义的端口和上下文访问H2控制台

示例,如果您定义:

server.port=8090
server.servlet.context-path=api

您可以在以下位置访问h2控制台:http://localhost:8090/api/h2-控制台

谨致问候。

可能您没有服务器,所以无法打开任何本地主机页面。

pom.xml

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.20.Final</version>
</dependency>
</dependencies>

应用程序。属性:

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true

http://localhost:8080/h2-控制台/一切正常,检查

我也遇到了同样的问题。这是我必须添加到pom.xml才能访问H2控制台的内容:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

不要忘记在application.properties中添加spring.h2.console.enabled=true

请确保使用以下URL从浏览器访问H2数据库:http://localhost:8080/h2-控制台/

确保您正在运行Spring应用程序。

注意:我的pom.xml中没有依赖Spring Boot开发工具。

对我来说,我失踪了(正如@Manish Zacharias所提到的。(

不要忘记在application.properties.中添加spring.h2.console.enable=true

最新更新