在 Spring Cloud 项目使用 bootstrap.yaml 配置文件,添加 nacos 等相关参数配置,启动服务抛入如下异常:
org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor$ImportException: No spring.config.import set
...
org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter - ***************************
APPLICATION FAILED TO START
***************************Description:No spring.config.import property has been definedAction:Add a spring.config.import=nacos: property to your configuration.If configuration is not required add spring.config.import=optional:nacos: instead.To disable this check, set spring.cloud.nacos.config.import-check.enabled=false.
经查阅资料发现,导致上述异常的原因是 Spring Cloud 不再默认启用 bootstrap 包。
解决方式一:
使用 application.yaml,在配置文件中通过 spring.config.import=nacos: property to your configuration. 方式进行配置加载:
spring:config:import: nacos: xxx.yaml
解决方式二:
在 pom.xml 中引入 boostrap 依赖包:
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-bootstrap -->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId><version>3.1.7</version>
</dependency>
注意:3.x 版本对应 Spring Boot 2.x,4.x 版本对应 Spring Boot 3.x