大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍“Maven依赖范围、传递、排除的方法是什么”,在日常操作中,相信很多人在Maven依赖范围、传递、排除的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Maven依赖范围、传递、排除的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
创新互联主营瓜州网站建设的网络公司,主营网站建设方案,成都app开发,瓜州h5小程序开发搭建,瓜州网站营销推广欢迎瓜州等地区企业咨询
添加依赖
下面我添加了一个spring-web的依赖,maven就会去下载spring-web的jar包及它依赖的一些jar包。
依赖范围
依赖配置中有一个scope之前没讲过,它就是依赖范围。什么是依赖范围就是指定你这个jar包在哪个阶段时才有效。
compile - 编译依赖范围。默认的范围,可以不填,表示在所有过程中都有效,如编译期、测试过程中、运行期间等。
provided - 已提供依赖范围。这个范围表示只提供编译和测试阶段有效,运行期间不需要,像tomcat等容器本身已经提供的servlet-api等。
runtime - 运行时依赖范围。这个范围表示只有在运行和测试期间才有效,编译期间不需要,像连接数据库的jdbc驱动程序等。
test - 测试依赖范围。这个范围只有测试阶段有效,编译和运行不需要,像单元测试提供的junit包。
system - 系统依赖范围。这个范围表示不依赖本地仓库,jar在其他的目录,需要通过systemPath指定路径,这个不建议使用。
import - 引用依赖范围。Maven2.0.9之后新增的范围,只能用在
依赖传递
依赖的传递前面讲过通过继承和聚合的方式可以达到,通过继承的方式可以轻松的从父项目继承过来,通过聚合的方式也可以间接的传递过来。
继承:A继承B,A就可以继承B的dependencies依赖。
聚合:A依赖C,C依赖D,那么A就要依赖D自然也就获取了D的依赖。
下面这是dubbo的直接依赖和所有间接依赖的关系列表。
依赖排除
在依赖传递过程中,如A依赖B、S2.0,B依赖C、S1.0,这样A就有了S1.0和S2.0两个依赖,这样某些情况下会造成冲突需要手动把B间接传递过来的依赖排除掉,就是不依赖B带过来的S1.0的包。
排除所有间接依赖
到此,关于“Maven依赖范围、传递、排除的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!