我正在尝试使用Spring Boot在测试数据库中将H2设置为内存数据库。我已将我的应用程序配置为:
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:驱动程序org.postgresql.Driver声称不接受jdbcUrl,jdbc:h2:mem:test
我正在使用Hikari版本3.2.0。
答案 0 :(得分: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=
答案 1 :(得分:0)
遵循HikariCP或specific answer from forum,它们使用不同的驱动程序定义H2数据库:
org.h2.jdbcx.JdbcDataSource