首页 > 编程语言 > 详细

maven jar包依赖冲突调解

时间:2020-02-17 00:46:01      阅读:83      评论:0      收藏:0      [点我收藏+]

maven 自动按照下边的原则调解:

  1.第一声明者优先原则

    在 pom 文件定义依赖,先声明的依赖为准。

  2.路径近者优先原则

    spring-contex 和 spring-webmvc 都会传递过来 spring-beans,那如果直接把 spring-beans 的依赖直接写到 pom 文件中,
    那么项目就不会再使用其他依赖传递来的 spring-beans,因为自己直接在 pom 中定义 spring-beans 要比其他依赖传递过来的路径要近。

也可以通过排除依赖方法辅助依赖调解:(推荐使用)
  比如在依赖 spring-webmvc 的设置中添加排除依赖,排除 spring-beans,

  下边的配置表示:依赖 spring-webmvc,但排除 spring-webmvc 所依赖的 spring-beans。

  技术分享图片

 锁定版本:

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

 

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

  技术分享图片

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

  技术分享图片

  上边添加的依赖并没有指定版本,原因是已在<dependencyManagement>中锁定了版本,
  所以在<dependency>下不需要再指定版本。

maven jar包依赖冲突调解

原文:https://www.cnblogs.com/roadlandscape/p/12319339.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!