能注册到nacos 却读取不到相应的配置文件

2 篇文章 0 订阅
1 篇文章 0 订阅
本文档详细介绍了如何在Spring Cloud项目中集成并配置Nacos,包括添加必要依赖、修改pom.xml和bootstrap.yml文件、配置Nacos服务器地址以及创建和使用配置文件。通过实例展示了在 UserController 中获取并使用Nacos配置信息的步骤,确保服务注册发现和配置中心功能正常工作。
摘要由CSDN通过智能技术生成

1、可能你只添加了这个依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2、但是未添加以下依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

3、正确配置

3.1 修改 pom.xml 文件

<!-- nacos 依赖 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

3.2 修改 resource下的 bootstrap.yml 文件

server:
  port: 8080 # Tomcat
  servlet.context-path: /test

# Spring
spring:
  application:
    # 应用名称
    name: test-web
  profiles:
    # 环境配置
    active: dev

3.3 修改resource下的 bootstrap-dev.yml 文件

nacos:
  server-addr: localhost:8848
  name-space: dev
  server-group: DEFAULT_GROUP #服务分组
  config-group: test  #配置在不同分组, 用于区分不同服务的配置文件

# Spring
spring:
  cloud:
    bootstrap.enabled: true
    nacos:
      discovery: # 服务注册发现
        # 多网卡指定服务ip
        #ip: localhost
        # 注册中心服务器地址
        server-addr: ${nacos.server-addr}
        namespace: ${nacos.name-space}
        heart-beat-interval: 3000 # 心跳间隔ms
        heart-beat-timeout: 10000 # 心跳超时ms
        group: ${nacos.server-group} # 服务分组 默认DEFAULT_GROUP
        metadata: # 元数据 提供描述信息, 如服务版本、权重、容灾策略等等自定义标签
          version: v1
          #instance: local
      config: # 配置中心
        # 配置中心服务器地址
        server-addr: ${nacos.server-addr}
        namespace: ${nacos.name-space}
        group: ${nacos.config-group}
        prefix: application
        file-extension: yaml

3.4 nacos 新增配置文件,group 填写的必须和配置的group-config 一致

 3.5 测试类

@Api(tags = "测试")
@RestController("/")
@RefreshScope
public class UserController {

    @Value("${config.info}")
    private String configInfo;

    @ApiOperation(value = "测试")
    @GetMapping("/test")
    public String test(){
        return configInfo;
    }
}

3.6 结果测试 

 

在使用Nacos配置文件时,可能会遇到配置文件不到的问题。解决这个问题的步骤如下: 1. 检查项目中的配置文件优先级。在之前的Cloud版本中,通常使用`application.yml`作为配置文件。但是在使用Nacos时,需要使用`bootstrap.yml`作为配置文件,并且它的优先级要高于`application.yml`。确保配置文件的命名和路径正确,并且`bootstrap.yml`中的配置正确设置了Nacos服务器地址等信息。 2. 检查相关版本号是否对应。在项目启动时,如果出现`@Value(${})`值找不到的错误,可能是由于依赖的版本不对应导致的。检查nacosSpring CloudSpring Cloud Alibaba等相关版本号是否匹配。可以参考官方文档的版本说明进行确认,并确保项目中的依赖已正确添加。 3. 检查占位符的值是否正确解析。如果配置文件中使用了占位符,例如`${spring.profiles.active}`,它会被解析为项目指定的环境,比如`dev`。如果没有配置`spring.profiles.active`,则该占位符的值为空。另外,可以通过`${file-extension}`指定文件类型。例如,如果没有指定`spring.profiles.active`,那么最终拼接的文件名为`nacos-config-demo.yaml`;如果指定了`spring.profiles.active=dev`,则最终拼接的文件名为`nacos-config-demo-dev.yaml`。确保占位符的值正确解析并拼接正确的文件名。 通过以上步骤,应该能够解决Nacos配置文件不到的问题。如果问题还存在,请检查配置文件的命名、路径和内容是否正确,并确保Nacos服务器可正常访问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SpringCloud无法获取Nacos中的配置文件信息](https://blog.csdn.net/weixin_43032413/article/details/126601920)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值