gpt4 book ai didi

java - 如何在Spring中的TestContext中使用服务器数据库而不是内存中的h2数据库?

转载 作者:行者123 更新时间:2023-12-01 09:42:12 24 4
gpt4 key购买 nike

我需要在我的TestConfiguration中使用服务器数据库。我在 application.properties 中定义了一个 Postgresql 数据库,该数据库应该由应用程序使用,但是 TestContext 使用嵌入式 h2 数据库。application.properties 具有以下内容:

enter image description here

H2 被定义为 pom.xml 文件 中的依赖项,当我删除并尝试构建时,没有出现错误:

Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active).
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.getDriverClassName(DataSourceProperties.java:180)
at org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration$NonEmbeddedConfiguration.dataSource(DataSourceAutoConfiguration.java:121)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)

我做错了什么?

最佳答案

问题是我在 pom 中为 postgresql 定义的范围。

    <dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>

当我将范围设置为提供时,一切正常。

关于java - 如何在Spring中的TestContext中使用服务器数据库而不是内存中的h2数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38368702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com