在项目中经常会遇到这样的问题:“java.lang.NoSuchMethodError: XXXXX”
如下面这个:
java.lang.NoSuchMethodError: org.springframework.core.CollectionFactory.createLinkedMapIfPossible(I)

1.我们可以先查看是哪里调用的:

点进去之后发现是上面那个包spring-mock调用了这个不存在的方法,而且有跟他同名的类在spring-test中,应该调用的其实是下面这个spring-test中。
2.然后我们再搜索这个包在哪里,不需要什么maven-tree之类的,直接搜索就好了

3.点进去这个包,发现居然是一个内部包,难怪我一下没找到,发现里面依赖的这个mock包:

4.把这个内部包的spring-mock包移除即可

本文讲述了在项目中遇到JavaNoSuchMethodError的具体案例,涉及到spring-mock和spring-test包的冲突,解决方法是识别并排除内部包中的spring-mock依赖。
最低0.47元/天 解锁文章
2255

被折叠的 条评论
为什么被折叠?



