jackson 包版本低导致java.lang.NoSuchMethodError

1,起因,本地window10项目运行无误,发布项目到正式环境Liunx系统后编译打包部署都没有问题,但是验证一个双因子认证功能时就报错

2,我看到这个错误,就知道肯定是 Maven 依赖问题,要么是版本冲突(存在不同版本的 2 个相同依赖),要么是依赖版本不对(太高或者太低),但为了保险起见,我还是先检查了一下 svn的提交记录,看看有没有对 pom.xml 配置文件做相关改动。检查后发现,除了一些业务逻辑的变动,对于这个包没有人动过

因为这个双因子认证的功能也添加了两个jar,但是报的错与我加的两个jar无关,其他的jar我也没有动,当时就有点不知所措,但是错误发生不得不解决,后面发现这个双因子的功能依赖项目的这个jackson包,于是我查看自己这个项目环境里面这几个包的版本

3,后面发现的确报错的jackson-dataind这个包的版本与jackson-core,jackson-annotations版本不一致一个是2.4.3而另外两个是2.9.3,于是乎我就升了jackson-dataind的版本升成2.9.3,然后部署上去,发现问题得到解决,我换成2.4.3又报错,找到原因后我想知道为什么会报错

4,后面我就去到网上看怎么看jar冲突或jar版本低的解决办法,得到以下步骤

第一步 查看项目的 Maven 依赖树

由于依赖太多,使用可视化的插件查看太繁杂,所以选择直接使用 maven 的 dependency 构件来生成文本,然后再搜索查看,生成命令如下

mvn dependency:tree > tree.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值