解决报错:Failed to start bean ‘webServerStartStop‘; nested exception is java.lang.reflect.UndeclaredTh

在学习SpringCloud时,利用Nacos实现微服务的注册发现,管理所有的微服务,监控所有微服务的状态,去做服务治理。

首先我们需要去下载一个nacos,可以利用docker一键部署。

注意:可以不用下载命令去下载nacos,可以直接部署nacos,因为如果部署的nacos版本不存在,docker会自动下载nacos。

docker run -d \
--name nacos \
--env-file ./nacos/custom.env \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--restart=always \
nacos/nacos-server:lastest

当nacos成功部署,利用docker的命令:docker  ps  -a,查询nacos的状态,发现已经启动了。

但是利用Ip和8848端口访问Nacos,发现连接不上,启动idea的服务,遇到了Failed to start bean ‘webServerStartStop‘;的错误。网上发现很多都是去修改nacos的配置,但是还有可能是Nacos没有启动的原因。

可以利用命令:docker  logs  -f  nacos,来查询nacos的日志,发现报错:No  DataSource  set,原因是Nacos容器没有和MySQL容器放在一个网段里。

可能之前利用docker compose,已经把mysql、nginx、项目文件都已经部署好了,放在了同一个网段中。但是新加进来的nacos容器只配置了端口,没有加入mysql、nginx、项目文件的网段中,产生了报错。

tips:有时候发现利用docker compose无法成功创建mysql、nginx和项目文件的容器,会报错,但是查询docker的状态是active,可以试一下指令systemctl  restart  docker,重新启动一下docker,或许可以解决docker  compose一键创建容器不成功的问题。

可以利用命令:docker  insepect  nacos;docker  insepect  mysql,来查询nacos和mysql的网段,可以发现nacos确实不在MySQL的网段中,

只需要利用命令:docker  network  connect  [网段名]  nacos;

让nacos加入到MySQL的网段里就ok了,之后再查询nacos的日志,会发现成功连接:

之后就能成功访问Nacos,Nacos服务就成功启动了,之后再启动idea的服务,成功解决Failed to start bean 'webServerStartStop';报错。

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值