升级jackson遇到的NoClassDefFoundError异常

问题背景:

jackson2.9.9.1之前存在安全漏洞,需要升级版本。项目中使用的是2.6.1.
项目使用的是

漏洞说明:

http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-201906-867

升级版本:2.10.3

问题描述:

第一个问题:启动时异常如下:

Unable to process Jar entry [module-info.class] from Jar [jar:file:/D:/STS/Workspaces/Cloudview/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/task-starter/WEB-INF/lib/jackson-databind-2.6.1.jar!/] for annotations

解决方法:
第一种:

在catalina.properties文件中jarsToSkip属性里新增该jar包。经测试不好使。

第二种:

删除jar包中的jackson-databind-2.6.1.jar.这个方法好使。

第三种:

同事的服务不删除也时可以正常使用的,经调查,升级tomcat版本可以解决这个问题。

第二个问题:服务运行时报ObjectMapper类找不到,抛出异常:NoClassDefFoundError

这个是由于类加载的时候由于版本问题没有加载成功,在执行的时候去加载这个类,因为类只加载一次,在加载的时候找不到就会报NoClassDefFoundError错误。

解决办法:

同时升级jackson相关的所有jar包:
jackson-databind-2.10.3.jar
jackson-core-2.10.3.jar
jackson-annotations-2.10.3.jar
jackson-dataformat-xml-2.10.3.jar
升级之后服务执行正常。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值