我的应用程序有一个嵌入式数据库作为"测试"依赖(Maven测试),但是如果你想在没有任何-D开关的情况下启动应用程序会导致异常,因为jdbc驱动程序是在application.yml中声明的(见下文)。
是否可以根据范围(即运行时或测试)设置数据源?或者更好的是,您可以在没有任何-D开关的情况下更改默认配置文件(例如-Dspring.profiles.active = test)吗?
这看起来似乎微不足道,但是我们的团队很难让您在IDE中成功运行测试,但是当您尝试运行应用程序时#34;除非你设置-D开关,否则它会失败。
datasource:
url: jdbc:h2
spring:
profiles: profile1
datasource:
url: jdbc:postgresql
答案 0 :(得分:1)
如果您仅将嵌入式数据库用于测试,那么您可以将application.properties(或.yml)放在文件夹src/test/resources/
中,在该文件夹中放置测试运行的所有属性。至少这对我有用。因此,您不需要将生产属性放入配置文件中,并在运行应用程序时使用它们。
答案 1 :(得分:0)
在application.yml
src/test/resources/
您可以使用
datasource.url=jdbc:h2 =>
datasource:
url: jdbc:h2
---
spring:
profiles: profile1
datasource:
url: jdbc:postgresql