最近在项目中使用了easyExcel,在使用的过程中发现有jar包冲突,因为我们公司的项目都是使用maven 管理项目的第三方依赖,
一直都只会一种解决方法就是锁定版本,今天好好总结一下,记录一下。
1、冲突原因:
jar包冲突主要是由于依赖传递导致的,不同的jar包依赖同一个不同版本的jar包,导致冲突。可以看下下图。
B和C都依赖D,但是不同的版本,所以在使用的过程中可能会出现问题。
2、依赖调解原则(内置解决方法)
maven冲突这是常有的事,所以maven本身提供了一些基本的解决办法,maven内置了三个基本的原则
-
原则一:最短路径优先
-
原则二:第一声明者优先
-
原则三:覆盖优先
下面的三张图,最终选择的都是高版本的jar包