前言

目前我在使用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

启动效果

这里放一下我的项目的版本信息,外加成功启动

Logo

分享最新、最前沿的AI大模型技术,吸纳国内前几批AI大模型开发者

更多推荐