maven依赖范围

编程技术  /  houtizong 发布于 3年前   133
1.test 测试的时候才会依赖,编译和打包不依赖,如junit不被打包
2.compile 只有编译和打包时才会依赖
3.provided 编译和测试的时候依赖,打包不依赖,如:tomcat的一些公用jar包
4.runtime 运行时依赖,编译不依赖
5.默认compile

依赖范围compile是支持传递的,test不支持传递
1.传递的意思是项目A,引用了项目B,那么项目B中依赖的jar包在项目A中会被依赖
2.项目A,引用了项目B,项目A也引用了项目C,现在是项目B中依赖XX1.1.jar,项目C中依赖了XX1.2.jar包,那么项目A最后依赖jar包是哪个?
     这里面有一个级别的问题,级别就是jar包1依赖jar包2,jar包2依赖jar包3,那么如果项目中引入了jar包1,且使用了jar3,那么这个jar包3对于这个项目来说就是间接依赖,依赖级别是2,项目中使用jar包1,这个级别是0
      回到最初问题,A项目引用了B和C,那么XX.jar包对A来说依赖级别是2,这时候A中的XX.jar包就是先引用了那个项目,jar就是哪个。
3.排查一些依赖
  在<dependency>标签内添加<exclusions>标签就可以排查一些jar
4.总结,如果A项目中也引用了XX.jar包,最后依赖的就是A中加入的,因为A中的级别是0。级别相同取版本最近的,级别不相等取级别小的

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客