当前位置: 代码迷 >> 综合 >> 目前我所遇到的 NacosException: endpoint is blank
  详细解决方案

目前我所遇到的 NacosException: endpoint is blank

热度:24   发布时间:2024-02-02 07:18:48.0

异常信息:

异常1:

Caused by: com.alibaba.nacos.api.exception.NacosException: endpoint is blank

出现原因: 启动nacos消费者时报错, 网上找了一下

原因:因为pom里加入了spring-cloud-starter-alibaba-nacos-config的依赖,但又没有用到动态配置,所以会报空指针的错,如果只需要用到naocs的服务注册与发现功能,只需要加上spring-cloud-starter-alibaba-nacos-discovery这个依赖即可

 

然后我想了想, 我并没有在消费者模块引入config依赖, 那么它还报错, 那会不会是父依赖那出了问题.

然后我查看了一下父依赖

 

然后发现是引入了父依赖的config依赖, 然后我就把这两个依赖挪到了<dependencyManagement> 里面

它们两个的区别如下:

<dependencies> <!-- dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承) -->

<dependencyManagement> <!-- dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。 -->

 

然后启动成功

 

异常2:

异常1 是同一个异常, 是我在使用nacos集成gateway网关时出现的

原因:

因为在异常1时我已经把父类依赖搬走了, 所以不是这个原因引起的, 在我集成好gateway网关时也引入了spring-cloud-starter-alibaba-nacos-configspring-cloud-starter-alibaba-nacos-discovery 依赖, 但是在配置文件中, 我只加了discovery 配置, 导致出现这个异常

 

解决方法:

1. 只是单纯的使用nacos作为服务的注册与发现, 不用来作为配置中心的话, 把config依赖删掉即可

2. 既要使用nacos作为服务的注册与发现, 也要作为配置中心的话, 那么discovery配置和config配置一个都不能少

 

 

 

 

 

 

 

  相关解决方案