依赖范围

本文详细介绍了Maven中五种依赖范围(compile、test、provided、runtime、system)的概念及应用场景,包括它们如何影响编译、测试和运行时的classpath。

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

------------------------siwuxie095

   

   

   

   

   

   

   

   

依赖范围

   

   

1、Maven 在编译、测试和运行时,分别使用三种不同的 classpath

   

1编译 classpath

   

2测试 classpath

   

3运行 classpath

   

   

   

2、依赖范围就是用来控制依赖与上述三种 classpath 的关系

   

1compile编译依赖范围默认依赖范围

   

对编译、测试、运行三种 classpath 都有效,典型:spring-core

   

   

2test测试依赖范围

   

只对测试 classpath 有效,典型:junit

   

   

3provided已提供依赖范围

   

对编译、测试两种 classpath 有效,对运行 classpath 无效,典型:servlet-api

   

   

4runtime运行时依赖范围

   

对测试、运行两种 classpath 有效,对编译 classpath 无效,典型:JDBC 驱动

   

   

5system系统依赖范围

   

1)对编译、测试两种 classpath 有效,对运行 classpath 无效

   

2)使用时必须通过 systemPath 标签显式指定依赖文件的路径

   

「其实就是本机上除了 Maven 仓库之外的类库」

   

   

   

3、依赖范围和 classpath 的关系表

   

依赖范围

编译 classpath

测试 classpath

运行 classpath

例子

compile

spring-core

test

×

×

junit

provided

×

servlet-api

runtime

×

JDBC 驱动

system

×

本机除 Maven 仓库外的类库

   

   

   

   

   

   

   

   

   

   

【made by siwuxie095】

转载于:https://www.cnblogs.com/siwuxie095/p/7573483.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值