idea运行程序代码时报错为:
Exception in thread "main" com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
报错原因:Jackson包的版本太低或pom.xml 中未指定Jackson版本导致程序运行默认引用了低版本的包,导致报错
环境包检查:发现有多个版本的Jackson包,因为我pom.xml 文件中未指定Jackson包的版本,导致程序运行时默认引用了顺序为1的2.3.1 的包,因为该包太旧与Spark包不兼容导致报错。 如果你的环境中确实就是低版本的包,报错信息也是你包的问题,则去官网下载一个高版本的jar包加进去(下载地址在文末 ),然后把旧版本的删掉即可(建议不要直接下最高版本的,往往中不溜的是最好的哈哈) 解决方法:解决方法有两种
- 删掉环境包中两个低版本的包,只保留最高版本
2.6.5 的包,然后重载module,重新运行即可 - 在
pom.xml 中指定Jackson的版本:
- 在
<properties> 与 </properties> 中添加下行代码即可。之后刷新maven,重新运行程序
<jackson.version>2.6.5</jackson.version>
jackson的jar包下载地址:
https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations
https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core
https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
进入页面稍等一会之后,选择你想下载的版本点击进入:
进到详情页后点击bundle 之后就开始下载了。下载完替换掉自己环境中的包即可。三个包都需要下载,整体替换一下即可
|