Maven详解——冲突解决

Maven详解—— 概述

Maven详解—— 安装

Maven详解——IDEA创建Maven工程

Maven详解——Maven的常用命令

Maven详解——依赖管理

Maven详解——冲突解决

 

冲突解决

1、依赖  、依赖传递  、依赖冲突

1.1什么是依赖  :

jar就是依赖

1.2什么是依赖传递:  

spring-context.jar 依赖了spring-aop.jar ,在依赖了spring-context.jar会自动引入spring-aop.jar

1.3什么是依赖冲突  

spring-context.jar 依赖了spring-aop.jar
spring-webmvc.jar 依赖了spring-aop.jar

两个jar都依赖了同一个jar,这就是依赖冲突

 

2、maven自带的调优原则 

2.1第一个声明者优先

依赖路径长度相同情况下,则“先声明优先”:

         A—>E—>X(version 0.0.1)

         A—>F—>X(version 0.0.2)

         则在项目A的<depencies></depencies>中,E、F那个在先则A依赖哪条路径的X。

2. 2路径近者优先

如果依赖路径的长度不同,则“短路优先”:

         A—>B—>C—>D—>E—>X(version 0.0.1)

         A—>F—>X(version 0.0.2)

         则A依赖于X(version 0.0.2)。

3、排除依赖 

比如在依赖 spring-webmvc 的设置中添加排除依赖,排除 spring-beans, 下边的配置表示:依赖 spring-webmvc,但排除spring-webmvc所依赖的 spring-beans。 


4、锁定版本 

面对众多的依赖,有一种方法不用考虑依赖路径、声明优化等因素可以采用直接锁定版本的方法确定依赖构件的版本,版本锁定后则不考虑依赖的声明顺序或依赖的路径,以锁定的版本的为准添加到工程中,此方法在企业开发中常用。 

还可以把版本号提取出来,使用<properties>标签设置成变量。 


 
 
注意:在工程中锁定依赖的版本并不代表在工程中添加了依赖,如果工程需要添加锁定版本的依赖则需要单独添加<dependencies></dependencies>标签,如下: 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值