maven 的范围 <scope>

本文详细介绍了Maven中依赖范围的概念及其应用场景。包括默认的compile范围、仅在测试时有效的test范围、编译和测试有效但运行时无效的provided范围、测试和运行有效但编译时无效的runtime范围、绑定本机系统的system范围以及特殊的import范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

maven的<scope>规定了依赖的范围。

mavne的每一个范围都和一个特定的classpath相关。例如测试的时候把Junit加入到classpath里,但是打包的时候却不放进去。

mavne的特定calsspath 分为编译时,编译执行测试时,运行时。


mavne的依赖范围有


  • compile   默认的。在编译,运行,测试都有效。

  • test         测试时依赖有效。在编译主代码或者运行项目的时候都无法使用这个类。

  • provided 在编译和测试的时候依赖有效,但是运行时无效。例如servlet-api, 因为项目运行的时候容器(TOMcat)会提供的。

  • runtime   测试和运行有效,但是编译主代码的时候无效。例如JDBC驱动的实现,在项目编译的时候只需要JDK提供的JDBC接口,只有在执行测试或者运行项目的时候才需要实现上述接口的具体的JDBC驱动。

  • system  这种依赖不通过maven解析,和本机系统是绑定的,用于规定个别很特殊的外部依赖包。

  • import

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值