问题

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.

问题根源分析

No spring.config.import property has been defined
  • Spring Boot 2.4+ 移除了对 bootstrap.yml 的自动支持
  • Spring Cloud 2021.0.0+ 引入了新的配置导入机制
  • Nacos 客户端 需要显式声明配置导入方式

解决方案

方案一:使用 spring.config.import(推荐)

在 application.yml 中添加:

spring:
  application:
    name: your-service-name
  config:
    import:
      # Nacos 配置导入(必须添加)
      - optional:nacos:${spring.application.name}.yaml?group=DEFAULT_GROUP
      - optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml?group=DEFAULT_GROUP
      
  cloud:
    nacos:
      config:
        server-addr: localhost:8848  # Nacos 地址
        namespace: public            # 命名空间
        file-extension: yaml         # 配置文件格式
        refresh-enabled: true        # 启用动态刷新

方案二:兼容旧版 bootstrap 方式(迁移过渡)

  • 步骤1:添加 bootstrap 依赖
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
    <version>4.1.1</version> <!-- 兼容 Spring Boot 3.4.5 -->
</dependency>
  • 步骤2:创建 bootstrap.yml
# src/main/resources/bootstrap.yml
spring:
  application:
    name: your-service-name
  cloud:
    nacos:
      config:
        server-addr: localhost:8848
        namespace: public
        file-extension: yaml
        group: DEFAULT_GROUP
  • 步骤3:禁用新导入检查
# application.yml
spring:
  cloud:
    nacos:
      config:
        import-check:
          enabled: false # 禁用新机制检查

`

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐