我有基本的 SpringBoot 应用程序。我按照这个教程:https://www.baeldung.com/spring-boot-h2-database从头开始创建所有内容,但是当我完成所有步骤并尝试访问 h2-console 时。它向我显示“无法访问此网站”。首先,我尝试了默认路径:http://localhost:8080/h2-console,然后我添加到我的 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 控制台的错误在哪里吗?
提前致谢。
您可以使用 application.propiertes 中定义的端口和上下文访问 H2 控制台。
例如,如果您定义:
server.port=8090
server.servlet.context-path=api
您可以在以下位置访问 h2-console:http://localhost:8090/api/h2-console
问候。
我遇到了同样的问题,我解决这个问题的方法是,添加 Spring Boot 的开发工具,只需将其添加到 com.h2database 上方的 pom.xml 中即可。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
出于一个奇怪的原因,我刚刚添加了“开发工具”并且可以工作。
如果我删除它并执行“项目”->“清理”,问题会再次发生。
可能您没有服务器,因此无法打开任何本地主机页面。
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-console/ 一切正常,已检查
我也有同样的问题。这是我必须添加到我的
pom.xml
才能访问 H2 控制台的内容:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
别忘了在您的
spring.h2.console.enabled=true
中添加 application.properties
。
确保使用以下 URL 从浏览器访问 H2 数据库:http://localhost:8080/h2-console/
确保您正在运行 Spring 应用程序。
注意:我的
pom.xml
中没有 Spring Boot Dev Tools 依赖项。
对我来说,我失踪了(正如@Manish Zacharias 提到的。)
不要忘记在 application.properties 中添加 spring.h2.console.enabled=true 。
将开发工具添加到项目中,它对我有用......右键单击项目 - > spring - >添加开发工具