Spring Boot JPA H2 控制台未运行,application.properties 文件被忽略

新手上路,请多包涵

Spring Boot 指南说我可以获得 H2 控制台,但它对我不起作用。

http://localhost:8080/h2/ Whitelabel 错误页面 此应用程序没有显式映射 /error,因此您将其视为后备。 2016 年 10 月 26 日星期三 12:31:46 BST 出现意外错误(类型=未找到,状态=404)。没有可用的消息

我创建了一个 application.properties 文件如下

spring.h2.console.enabled=true
spring.h2.console.path=/h2

我的项目基于

默认路径 /h2-console 也不起作用。

我找到了另一个答案,通过添加 Application.java 来解决问题:

     @Bean
public ServletRegistrationBean h2servletRegistration() {
    ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet());
    registration.addUrlMappings("/h2/*");
    return registration;
}

我的 application.properties 文件中的所有内容都被忽略。我试过添加:

 spring.datasource.url=jdbc:h2:file:~/portal;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver

但是数据库仍然只在内存中创建。

原文由 clickcell 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 803
2 个回答

您当前的位置 src\main\java\h‌​ello\application.pro‌​perties 是罪魁祸首。有2个原因。

  1. src\main\java 中的非java资源被忽略
  2. application.properties 在根目录或 config 目录或考虑(默认)。 (请参阅 参考指南)。

解决方法是简单地将您的 application.properties 移动到 src\main\resources

原文由 M. Deinum 发布,翻译遵循 CC BY-SA 3.0 许可协议

检查您是否在 application.properties 中设置了基本路径。

例如,如果您有一个设置

server.contextPath=/api

您可以在下面访问 h2 控制台

http://localhost:8080/api/h2-console

很明显,但对我来说就是这样

原文由 Falco Winkler 发布,翻译遵循 CC BY-SA 3.0 许可协议