Maven依赖范围

Maven依赖管理

基本概念

假如存在A、B坐标,然后A依赖与B,A在pom.xml中添加B坐标,在添加坐标的时候(GAV)需要制定依赖,默认为compile

compile(编译范围)

1.值a在编译时依赖b,此范围默认为依赖范围;
2. 编译范围的依赖会用在编译、测试时运行;
3. 由于运行时需要,所以编译范围的依赖会被打包;

provided

1.provided依赖只有当在jdk或者一个容器以提供依赖之后才会使用;

2.provided依赖在编译和测试时需要,在运行期间不需要,比如servlet api 被tomcat所提供;

runtime

runtime依赖运行和测试系统的时候需要,但在编译的时候不需要
比如jdbc的驱动包。由于运行时需要,所以runtime范围的依赖会被打包

test

顾名思义,test依赖范围和名字差不多的,test在编译和运行时都不需要
他们只有在测试编译和测试运行阶段可用,比如junit才能用…

system

system范围依赖与provided类似,但是你必须显式的提供一个对于本地系统的jar文件路径,需要指定systemPath磁盘路径

总结:

  • 默认引入的jar包:compile,默认范围可以不写(编译、测试、运行都ok)

  • servlet-api、jsp-api、provided(编译测试有效,运行时无法阻止tomcat下jar的冲突)

  • jdbc驱动包:runtime

  • junit:test

    (学习是日积月累的事情,当然遇到一些有趣的东西,是需要记录下来的,我认为maven的依赖范围蛮重要的…虽然是一些理论性的东西,但是还是希望对大家都能有帮助吧)

链接: link.

图片: Alt

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值