java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot引入远程nacos配置文件错误

springboot引入远程nacos配置文件错误的解决方案

作者:勿语&

本文为解决Spring Cloud Alibaba中配置导入问题,提供了详细的步骤说明,包括引入依赖、配置nacos、创建bootstrap.yml文件以及测试配置导入是否成功的方法,帮助开发者快速解决相关问题

错误信息

如下:

<spring-boot.version>2.7.6</spring-boot.version>
<spring-cloud.version>2021.0.3</spring-cloud.version>
<spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version>

下面是解决上面问题的办法:

1. 引入依赖所需依赖

<dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>
</dependencies>

2. 远端nacos中的配置文件设置

3. 创建 bootstrap.yml

spring:
  application:
    name: nacos-config   # 远程nacos的Data ID
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848  # 远程nacos的ip地址
      config:
        # namespace: 值为命名空间ID,不是命名空间名称
 
        file-extension: yaml  #指定远程文件的格式
        # 如果服务名和远程的Data ID不同,可以通过以下方式来引入多个远程文件
        extension-configs:  
          - data-id: mysql-config.yml
            refresh: true
          - data-id: redis-config.yml
            refresh: true

4. 测试是否导入配置成功

@SpringBootApplication
public class NacosConfigApplication {
    public static void main(String[] args) throws InterruptedException {
        ConfigurableApplicationContext context = SpringApplication.run(NacosConfigApplication.class, args);
        while (true){
            String name = context.getEnvironment().getProperty("user.name");
            String age = context.getEnvironment().getProperty("user.age");
            System.out.println("name="+name+"\t age="+age);
            TimeUnit.SECONDS.sleep(2);
        }
    }
}

5. 测试成功

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文