【报错记录】解决SpringBoot3.x,对接SpringCloud4.x启动报No spring.config.import property has been defined
·
前言
目前我在使用SpringBoot项目对接nacos,使用的是spriing-cloud4.3.0版本时报错了,报错内容为:
2025-10-11 10:59:35.574 ERROR --- [ main] o.s.b.d.LoggingFailureAnalysisReporter -40:
***************************
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.
Disconnected from the target VM, address: '127.0.0.1:12800', transport: 'socket'
但是奇怪的是我使用老版本的spring-cloud就没出现这个问题,而且我是有bootstrap.yml的,为什么还会报错呢?
报错原因
简单来说就是新版本的SpringBoot去掉了对于bootstrap.yml的自动加载支持,也就是说bootstrap.yml这个文件目前完全没用了,有没有都一样,都是没用的,不生效的!!因此无论怎么改bootstrap.yml,怎么加config.import都没用。
解决方法
既然bootstrap.yml没用了,那改回application.yml就行了,该文件就又能被识别到了,简单吧。不像别的博客里怎么说的都有,反正就是死犟着不改bootstrap.yml的文件名。
然后就是解决spring.config.import没有添加的问题,这个就更简单了,既然文件都能被识别了,这个数据就加呗。
config:
import:
- optional:nacos:${nacos中的dataId}?group=${你的group名}
Import中填写nacos中的配置名,nacos:后面填写nacos中配置文件的DataId,group中填写nacos中的group信息。

如果按照我我图上填的就是:
config:
import:
- optional:nacos:onflow-backend?group=onflow
兼容性检测
由于我的SpringBoot项目使用的是3.5.5版本,而nacos的spring-cloud版本是2023.0.x

而spring-cloud官网中建议的版本关系为:

nacos版本只能使用3.3.x或者3.2.x版本,而我的SpringBoot都已经是3.5.5版本了,因此会报兼容性异常。为了避免这个问题,需要加上一个取消兼容性检测的配置即可:
cloud:
compatibility-verifier:
enabled: false
完整文件
application.yml
spring:
application:
name: onflow-backend
# profiles:
# active: dev
config:
import:
- optional:nacos:${spring.application.name}?group=onflow
cloud:
# 兼容性验证,目前nacos还不支持SpringBoot3.5.5,临时关闭认证,否则项目无法启动
compatibility-verifier:
enabled: false
nacos:
discovery:
# Nacos Server的地址,需要改为你自己的nacos地址
server-addr: 127.0.0.1:8848
namespace: onflow
group: onflow
# Nacos认证用的用户名,可以不加
username: dct
password: 111111
config:
# Nacos Config Server的地址,通常与discovery一致,需要改为你自己的nacos地址
server-addr: 127.0.0.1:8848
file-extension: yaml
namespace: onflow
group: onflow
# Nacos认证用的用户名,可以不加
username: dct
password: 111111
启动效果
这里放一下我的项目的版本信息,外加成功启动



更多推荐

所有评论(0)