【Maven】scope属性

本文详细解析了Maven中依赖范围的概念,包括compile、provided、runtime、test、system和import等不同范围的作用与应用场景,以及它们如何影响编译、测试和运行时的类路径。

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

介绍

Scope指定依赖关系的范围,用于限制依赖关系的传递性及影响各个构建任务的类路径。

详细介绍

scope依赖范围

范围说明使用场景
compile默认,编译、运行、测试、打包,可传递
provided编译、运行、测试,不可传递,可被继承Servlet API和JavaEE API的依赖关系,Web容器已经提供,无需被打包。
runtime运行、测试、打包,可传递JDBC驱动,无需编译,运行时需要。
test编译、测试 ,不可传递Junit
system不推荐,与provider范围相似,但必须显示systemPath属性定义本地系统中JAR 文件的路径,Maven不会从仓库中寻找,可传递
import仅作用于中的pom类型的依赖项父POM的导入

scope与classpath关系

范围编译classpath测试classpath运行时classpath传递性
compileYYYY
providedYY--
runtime-YYY
test-Y--
systemYY-Y
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值