[英]Spring Default Profile Selection Based on Scope
我的应用程序具有嵌入式数据库作为“测试”依赖项(Maven测试),但是当您要在没有任何-D开关的情况下启动应用程序时,这会导致异常,因为jdbc驱动程序已在application.yml中声明(请参见下文)。
是否可以根据范围(即运行时或测试)设置数据源? 或者更好的是,您是否可以在没有任何-D开关的情况下更改默认配置文件(例如-Dspring.profiles.active = test)?
这看似微不足道,但是对于我们的团队来说,您可以在IDE中成功运行测试感到困惑,但是,当您尝试“运行应用程序”时,除非您设置-D开关,否则它将失败。
datasource:
url: jdbc:h2
spring:
profiles: profile1
datasource:
url: jdbc:postgresql
如果仅将嵌入式数据库用于测试,则可以将application.properties(或.yml)放在src/test/resources/
文件夹中,在其中放置所有要运行的测试属性。至少对我有用。 因此,您无需将生产属性放入配置文件中,并且在运行应用程序时会使用它们。
在src/test/resources/
移动application.yml
您可以使用
datasource.url=jdbc:h2 =>
datasource:
url: jdbc:h2
---
spring:
profiles: profile1
datasource:
url: jdbc:postgresql
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.