打包安装报错异常记录

文章讲述了在集成Dubbo和Nacos的项目中,打包后的安装启动遇到bean找不到的问题,经过日志分析、代码检查和配置文件核实,发现配置错误导致bean初始化失败。强调了在遇到问题时应优先查看日志的重要性。
摘要由CSDN通过智能技术生成

23-12-07晚打包安装运行失败问题记录

环境:

三个服务:iam、server、web
rpc:dubbo
注册中心:Nacos
配置中心:Nacos
打包工具:Jenkins

问题描述:

打包完成之后安装启动时报错,日志末尾报出的问题是某个bean找不到,检查该bean后发现没有问题,头上带有@DubboService注解,并且在nacos配置文件扫描的service子包中,看起来好像没问题。

问题排查:

检查日志末尾报出的未找到Bean

该bean头上带有DubboService注解、在Dubbo扫描的service子包中,通过@Autowired引入该bean,后换成@Resource也没用,将该bean换成@Service注解后报错换成另外一个bean。(这时候就应该意识到可能是dubbo或者nacos的原因)

检查打包分支代码

本地重新拉取打包的分支运行,将application文件修改,直接连到设备上的nacos,因为本地没有安装nacos,这时候运行成功(当时非常困惑,以为什么都没改确能正常运行,没想到恰恰是这个配置文件被改动了)

检查打包的lib包

对比正常环境(application配置文件没被修改的)的lib包,甚至直接将好环境的lib包scp到坏环境上启动服务,还是报之前的问题,说明跟代码确实没有关系,考虑nacos、数据库、操作系统环境等原因。

其他检查

jdk版本都是17,@Resource注解的包也是正确的。

解决

找了很久,最后还是通过日志找出问题,翻到日志最前面,在spring的bean初始化就开始error了,最后检查application文件发现配置文件内容不对,没有连接nacos导致没有拿到bean的实现类,导致bean的初始化报错,至于为什么会报一个很奇怪的bean是因为还没轮到其他bean报错就挂了。
另外,使用nacos+dubbo之后报出bean的异常,检查bean没问题之后直接排查nacos和dubbo相关。

结语

碰到问题冷静思考,先看日志先看日志先看日志,不要猜不要猜,虽然猜得验证比较快但是多次猜测没中很容易出现心态不好,后续心态崩了头也晕了很难再排查。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值