我正在使用带有 H2 数据库的 spring boot。在以前的 H2 版本 (h2-1.3.173) 上,不支持 TO_CHAR 函数。为解决此问题,我将 H2 版本更新为 (h2-1.4.182),现在可以使用了。
但是,当我运行我的 spring-boot 应用程序时,我收到此错误消息“连接已断开:”意外状态 16843008”,我环顾四周,根本原因是由于不同的 h2 jdbc 版本。
我检查了我的 spring-boot 引用,它使用了 (h2-1.3.176)。所以,我尝试更新spring-boot的pom.xml。但是有一个警告“覆盖 h2 的托管版本 1.3.176”。是否进行了全新安装并且有效。
但是,我有点担心这个警告,任何spring-boot专家都可以确认它不会导致任何隐藏的问题吗?
最佳答案
Spring Boot 1.1.x 应该可以与 H2 1.4.x 一起正常工作。另外,您可能有兴趣知道最近发布的 Spring Boot 1.2.0 默认使用 H2 1.4.x。
如您所见,警告来自 Maven。假设您使用 spring-boot-starter-parent
作为 pom 的父级,您已经继承了 com.h2database:h2
的依赖管理。如果您想继续使用 Spring Boot 1.1.x 但没有来自 Maven 的警告,您可以通过覆盖 pom 中的 h2.version
属性来实现:
<properties>
<h2.version>1.4.182</h2.version>
</properties>
然后声明没有版本的依赖:
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>
关于spring-boot - Spring Boot H2 版本警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27495993/