异常处理方法:Error creating bean with name ‘mvcContentNegotiationManager‘: Lookup method resolution failed

最近本人在使用idea搭建聚合项目的时候发生各种奇怪的异常,下面就在此记录一下其中子模块运行时报出的一个异常:

其中异常信息的提示为:

Error creating bean with name 'mvcContentNegotiationManager': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [org.springframework.web.accept.ContentNegotiationManagerFactoryBean] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]

解决方案1:

查看子模块的POM文件是否依赖了父类,当然在很多在使用idea的时候会发现,穿件子模块的时候,子模块的POM文件会自动依赖父类(如下图)

上图的依赖如果经过检查发现没有自动生成,并且你又发生了跟我同样异常,那么加上父工程依赖大概率解决这个异常了.

经过本人在网上查阅相关的帖子和多次重复试验发现:

这个BUG是由于我们之前创建过同名的模块然后被我们移除了,然后我们又重新通过骨架自动生成webapp模块,这样骨架生成的模块会把你的原本自带的POM文件完全覆盖!!!

好巧不巧,你又需要父工程依赖来启动项目,那么你就会出现这个BUG!

最稳妥最靠谱的避免问题再现的方案:每次创建子模块都检查POM文件的依赖,如果没有,手动解决.

当然网上的解决方案也各种各样,但是我都试了发现能临时解决问题,但下次再用骨架生成同名模块时依旧被覆盖...

解决方案2(稍微靠谱):

Setting--Build--Maven--Ignored Files,取消被忽略的POM文件,就会自动添加父工程依赖!

 总结:

根本原因还是因为我们之前创建过同名的模块,但是移除的时候没有真正的移除干净.idea中还是有很多删除module的信息,所以新建的时候idea会自动忽略我们写的同名新模块...

当然很大一部分影响是因为我们使用了骨架自动生成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值