spring项目将配置迁移至nacos

一、基本流程:

1、注释掉pom.xml里eureke相关依赖;

2、添加nacos相关依赖包,注意springboot、springcloud、nacos三者相对应的版本;

3、为项目添加bootstrap.yml 与 application.yml配置文件,为启动类添加@EnableDiscoveryClient注解;

4、将原项目相关配置迁至nacos上。

二、注意点及出现异常:

1、数据库中导入nacos的sql,修改nacos配置中数据库连接;

2、nacos是否开始权限,是否需要在配置中添加username/password;-- application.properties # nacos.core.auth.enabled=false;

3、nacos是否为集群,单机版本需将默认值修改;-- startup.cmd # set MODE = "cluster" 改为set MODE ="standalone";

3.1、发现启动报错:java.io.IOException: java.lang.IllegalArgumentException: db.num is null ;需将集群模式改为单机;

4、nacos上不同项目通过restTemplate实现接口的调用,需添加@LoadBalanced注解实现负载,同时用nacos服务名替换ip+端口;

5、项目启动报错 -- 'com.netflix.client.config.IClientConfig' that could not be found ;两个方向,一是版本之间的对应,二是启动类的位置,将启动类放在com下面与controller等同级目录;

三、疑难点(nacos版本1.2.1):

1.开启认证授权后注册服务使用的用户需要有读写权限。

2.用户只有读权限,启动不成功,报标题错误。

3.用户只有写权限,启动成功,但是有报错。

原文地址:https://www.cnblogs.com/stupid-chan/p/15008791.html