【pom】解决jar冲突心得 之 通过解决启动报错 NoClassDefFoundError: Could not initialize ObjectMapper 看思路
解决jar冲突心得
之
通过解决启动报错 Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.fasterxml.jackson.databind.ObjectMapper 学思路
一般情况,出现Caused by: java.lang.NoClassDefFoundError的问题 1.要么是jar没有引入pom,所以找不到 2.要么是jar引入了pom,但是该版本的jar中没有需要的那个class 3.要么是jar冲突,导致启动时候不知道应该找那个版本jar里的类 今天出现这个问题,源于一种新情况 4.提示的class所在jar,属于一套jar中的一个,这一整套jar应该版本统一,避免版本不兼容
注意:解决jar冲突时,mvn tree和 IDEA的Dependency Analyzer插件 是可以信赖的,不要怀疑最基本的工具有问题。
今日问题如下:
启动报错
过程:
已经将上面报错的所在的 jackson-databind.jar 在项目中冲突已经排除干净了,现在使用的已经是唯一版本的jar,并且确定jar中有 ObjectMapper 这个class,但仍然启动报上述错误
最后猜测:
可能是 jackson配套的这些jar中,唯独就红框中的jar版本与下面其他jackson jar版本不统一
解决:
最后将版本统一后 神奇解决。