我有一个 Springboot 2.4 应用程序,它试图在 CD/CI 环境中运行测试,而无需访问 application.properties
文件中指定的配置服务器。
我尝试为特定于配置文件的属性文件中的缺失值提供替代配置。
每当测试开始运行时,似乎是在加载配置文件特定配置之前尝试设置 spring 上下文,并且测试失败并出现 java.lang.IllegalStateException: Failed to load ApplicationContext
异常,因为它没有在配置文件中提供的属性特定的属性文件。
有什么解决方法吗?
答案 0 :(得分:0)
我在从 AWS Secret Manager 加载配置时遇到了同样的问题。
您必须将其添加到主 application.properties
文件的配置文件部分,而不是特定于配置文件的部分。
# Global section
test.value1=foo
#---
spring.config.activate.on-profile=configserver
spring.config.import=configserver:http://myconfigserver.com
仅当您使用 configserver
配置文件(配置服务器可访问的位置)运行应用程序时,它才会尝试从中加载配置。