【问题标题】:Error while instantiating H2 with Hikari CP使用 Hikari CP 实例化 H2 时出错
【发布时间】:2019-03-20 17:07:57
【问题描述】:

我正在尝试将 H2 设置为使用 Spring Boot 为我的测试环境设置的内存数据库。我已将我的应用程序配置为:

spring.datasource.url=jdbc:h2:mem:test
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.platform=postgres

spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL9Dialect
spring.jpa.database=POSTGRESQL
spring.jpa.show-sql=false
spring.datasource.driverClassName=org.postgresql.Driver

但我收到此错误: 通过工厂方法实例化 Bean 失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化[javax.sql.DataSource]:工厂方法'dataSource'抛出异常;嵌套异常是 java.lang.RuntimeException: Driver org.postgresql.Driver 声称不接受 jdbcUrl, jdbc:h2:mem:test

我使用的是 Hikari 3.2.0 版。

【问题讨论】:

  • 所以你配置了 H2 但期望 Postgres?那应该如何工作。

标签: spring-boot h2 hikaricp


【解决方案1】:

您使用了 postgresql 配置。下面是一个带有 hikari 和 H2 的配置

spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.url=jdbc:h2:mem:test
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.database=h2
spring.datasource.username=sa
spring.datasource.password=

【讨论】:

    【解决方案2】:

    关注 HikariCPspecific answer from forum 使用不同的驱动程序定义 H2 数据库:

     org.h2.jdbcx.JdbcDataSource
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      • 2019-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多