原创

记一次项目构建时的依赖版本冲突

近日在项目线下构建的时候出现依赖版本冲突的问题,特此记录一下解决的方法

在我们进行项目构建的时候,查看项目中导入的依赖是否正确是必不可少的。当我们需要使用项目中的公共服务的时候,就可以导入该服务的jar包依赖,以此来调用该公共服务。

问题

项目构建时的问题大意是一个jar包被更新升级了,而我们项目中的该jar包还是老旧的jar包,在重新部署的时候错误提示所需要的依赖版本为1.5.2,而项目中的依赖版本为1.3.2。

解决

问题大意就是当前的jar包版本太低了,需要进行升级,升级的过程还是比较简单的,去pom.xml文件下查看并找到对应的依赖,修改版本号并冲洗刷新maven去版本库中拉取即可。

在这里插入图片描述

但是遇到的问题显然没有这么简单,在进行一次更新后重新部署,发现问题还是存在,一摸一样的问题,大致一想就知道可能是其他jar包也有引用该依赖。

最终解决

这时我们可以有两种方法找到是哪些jar包引用了需要升级的依赖。 一、首先第一种方法是直接在pom.xml文件中以图的形式显示对应的依赖。

在这里插入图片描述

在这里插入图片描述

这种方法可以以图片的方式查看依赖,但是...如果你的依赖非常的多,那么显示的效果就会及其的不友好。例如这样。

在这里插入图片描述

所以我们更推荐使用第二种方法寻找对应的依赖。 二、以命令行的方式显示对应依赖所在位置。 通过调用mvn dependency:tree 可以查看对应的依赖树,比较轻易的找到对应的依赖嵌套。

在这里插入图片描述

最终在pom.xml文件中找到对应的依赖,进行去除即可。

在这里插入图片描述

如果是版本升级,那么在外部直接加入最新版本的依赖,按照就近原则会直接使用外部的依赖而不会去使用内嵌旧版本依赖。

java
maven

  • 作者:LinJy(联系作者)
  • 发表时间:2020-11-23 12:10
  • 版权声明:自由转载-非商用-非衍生-保持署名(null)
  • undefined
  • 评论

    留言