【Bug解决】中间件项目启动报错的原因和解决办法(java.lang.IllegalStateException)

首先先说明这个项目用到的主要的技术栈内容:
MyBatisPlus+SpringBoot+SpringCloud+Kafka+Apollo

中间件项目启动报错,一直找不到问题出在哪里,经过将近两天的不断试错,终于解决了这个问题。

一开始我把它从github上拉下来配置然后运行是不报错的,但是用了一小段时间后,就发现各种问题,我这种小白顿时慌乱,只能想到再去拉一份代码,重新配置运行,结果就报启动错误:
启动报错问题.png
在网上搜了很多资料,都没有找到准确有效的解决办法,然后就仔细看了一下报错的原因,结合Apollo和Kafka等插件的功能,最终找到了报错的原因。

因为项目启动时本地Apollo会根据启动url动态获取Apollo上已经配置好的文件到本地,那么就存在问题:
如果在本地使用配置文件中的内容,但是之后又在Apollo上做了修改,比如删除了某条,那么在本地value就在新获取的配置文件中找不到,就会报错,最终我发现它会报启动错误。
例如这两个value在配置文件中找不到,那么就会报启动错误
图片.png
所以排除错误的思路是可以将value在配置文件中找一下,看能不能找到,找不到的就先注释掉。

我的错误比上面的描述稍微复杂一点,就是我本地的Apollo启动出现延时错误(这个错误是在我解决了启动错误才在日志中显示出来),并没有将最新的配置文件在本地更新,而我以为在Apollo上新配置的内容已经获取在本地了,那么就会出现我前面所说的启动错误。

最终项目终于跑起来了。
图片.png
但是目前我的Apollo延时错误问题还没来得及解决,一开始我的思路是就不用动态配置,直接在本地添加上去。但很奇怪还是报错了,这个问题后面如果找到了原因会再整理出来。

补充:
我的Apollo延时错误问题,其实就是将idea重启了一下
图片.png
然后再运行就没有报错了

如果还是有问题(非启动报错问题),就把下面的文件删掉,重新加载一份
图片.png

内容有不足的地方,希望大家能够提出来^_^

如果文章对你有帮助,不要忘了给我点个赞吼( ̄▽ ̄)~
欢迎关注我的微信公众号:松鼠技术站

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值