Maven的自动依赖调解原则
在依赖传递过程中产生了冲突,Maven有三种优先法则
直接依赖高于间接依赖
排除依赖
排除依赖:可以使用exclusions标签将传递过来的依赖排除出去。
示例代码:
结果如下:
版本锁定
采用直接锁定版本的方法确定依赖jar包的版本,版本锁定后则不考虑依赖的声明顺序或依赖的路径,以锁定的版本为准添加到工程中,此方法在企业开发中经常使用。
版本锁定的使用方式:
第一步:在dependencyManagement标签中锁定依赖的版本
pom文件中使用dependencyManagement标签进行依赖jar的版本锁定, 并不会真正将jar包导入到项目中,只是对这些jar的版本进行锁定。项目中使用,那些jar包,还需要在dependencies标签中进行声明
第二步:在dependencies标签中声明需要导入的maven坐标
由于在前面已经在dependencyManagement标签中锁定了依赖jar包的版本,后面需要导入依赖时只需要指定groupId和artifactId,无需再指定version
示例代码: