博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
依赖范围
阅读量:5994 次
发布时间:2019-06-20

本文共 850 字,大约阅读时间需要 2 分钟。

1、Maven因为执行一系列编译、测试和部署运行等操作,在不同的操作下使用的classpath不同,依赖范围就是用来控制依赖与三种 classpath(编译classpath、测试classpath、运行classpath)的关系。

Maven有以下几种依赖范围:

compile:编译依赖范围(默认),使用此依赖范围对于编译、测试、运行三种 classpath 都有效,即在编译、测试和运行的时候都要使用该依赖jar包;

test:测试依赖范围,从字面意思就可以知道此依赖范围只能用于测试classpath,而在编译和运行项目时无法使用此类依赖,典型的是JUnit,它只用于编译测试代码和运行测试代码的时候才需要;

provided:此依赖范围,对于编译和测试classpath有效,而对运行时无效;

runtime:运行时依赖范围,对于测试和运行classpath有效,但是在编译主代码时无效,典型的就是JDBC驱动实现;

system:系统依赖范围,使用system范围的依赖时必须通过systemPath元素显示地指定依赖文件的路径,不依赖Maven仓库解析,所以可能会造成建构的不可移植,谨慎使用。

eg:

javax.sql
jdbc-stdext
2.0
system
${java.home}/lib/rt.jar

import:导入依赖范围。

2、依赖范围不仅可以控制与三种classpath的关系,还对传递性依赖产生影响,依赖关系图如下:

 

转载自

转载于:https://www.cnblogs.com/leo100w/p/4019004.html

你可能感兴趣的文章
软件调试的艺术(Linux Unix平台软件调试权威著作)
查看>>
知道力——彻底超越执行力的25条职场新思维
查看>>
互动网清华经典畅销图书买二赠一活动
查看>>
VSNETcodePrint 2005 & SQL ServerPrint 2005
查看>>
转---一个提高渲染效率的小技巧
查看>>
Entity Framework 4.1正式版发布,徐汇区网站设计
查看>>
QT中QTableWidget的使用
查看>>
装饰器(Decorator)模式
查看>>
【JOURNAL】天井组诗之七 - 来生
查看>>
strtok()和strtok_r()
查看>>
关于override,new 那点事
查看>>
awk用法小结
查看>>
C++运算符重载
查看>>
Qualitative and Quantitative
查看>>
你必须知道的ADO.NET(六) 谈谈Command对象与数据检索
查看>>
IT咨询公司薪酬比较
查看>>
PCI 32,PCI 64和PCI-X,PCI-E图解差别
查看>>
论文笔记之:Playing Atari with Deep Reinforcement Learning
查看>>
iBeacon
查看>>
13-(基础入门篇)系统教程演示(GPRS模块)
查看>>