在 Spring Cloud 项目使用 bootstrap.yaml 配置文件,添加 nacos 等相关参数配置,启动服务抛入如下异常:
org.springframework.cloud.***mons.ConfigDataMissingEnvironmentPostProcessor$ImportException: No spring.config.import set
...
org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter -
***************************
APPLICATION FAILED TO START
***************************
Description:
No spring.config.import property has been defined
Action:
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.***/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