More than one fragment with the name [spring_web] was found。。。。

记录一次遇到的神奇bug,项目在公司环境运行没有任何问题,但是在家里自己的电脑上运行报错 “More than one fragment with the name [spring_web] was found. This is not legal …”。

然后结合自己公司和自己电脑上环境的差异。发现tomcat版本有差异,我本地是8.5.38的tomcat,公司的是7.0.25版本的。更换过tomcat之后,重新编译项目为7的版本,项目终于可以运行了。
此时问题虽然解决了,但是为什么更换过tomcat和版本编译之后项目就可以了呢?。安奈不住心中的好奇,经过一番折腾网上查阅资料。终于把问题本质定位到了web片段这个概念上,我的项目有引入一个spring-webmvc这个jar包,然后我在本地下载一个版本的时候出了问题,就切换了一个版本,这时项目重新编译时可能没有从头到尾重新编译,导致出现了多个web片段。最终测试发现idea重启,整个项目重新编译之后tomcat8也是可以运行的。此时心中瞬间豁然开朗,前边之所更换过tomcat和版本编译之后项目就可以运行也可以说的通了,因为在项目更换tomcat和版本编译之后,整个项目从头到尾进行了重新编译。

总结:在解决bug的道路上,我们不仅要知其然,还要知其所以然。不然很可能只是误打误撞解决了当前bug(就像为这次刚开始以为是tomcat的问题一样),以后遇到类似bug,还是要翻车

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值