本文作者:黄少存,叩丁狼高级讲师。原创文章,转载请注明出处。
在之前的文章上,咱们已经知道了如何添加依赖,接下来咱们来看下如何来管理依赖.其实管理依赖的最重要的环节就是传递性依赖过程中存在的版本冲突的问题处理.接下来咱们先来看个存在传递性依赖过程中 jar 测版本冲突问题,再来看下 Gradle 有哪些的处理方法.
传递性依赖中的版本冲突
hibernate中slf4j的版本冲突问题
上图咱们可以知道,咱们需要依赖 hibernate3.6.3 的版本,而此版本需要依赖几个 jar 包,而依赖的 hibernate-commons-annotations.jar 依赖了一个slf4j 的jar包,当前hibernate框架也依赖了slf4j 的 jar 包.由于传递性依赖的特点,两个不同版本的 jar 包会被依赖进来,这样就存在版本冲突的问题.
存在版本冲突问题是需要解决的,如果没有解决程序就会出问题,那咱们使用 Gradle 做依赖管理,要如何来解决此问题? Gradle 有没有帮咱们解决此问题? 请继续往下看版本冲突的解决方案.
版本冲突解决方法
对于 Maven 的自动处理传递性依赖版本冲突问题,是按最短路径和优先声明原则来处理.
Maven自动解决版本冲突原则
而对于 Gra