Maven中依赖的scope的依赖范围

在Maven中依赖的域有这几个:import、provided、runtime、compile、system、test。

注:在默认的情况下scope的范围是compile


import使用的比较少,可参考:https://www.cnblogs.com/huahua035/p/7680607.html

这里介绍其他五种。

通过scope属性配置依赖范围,scope属性可以取的值如下:


 

详细解释:

1. compile :编译需要,测试需要、运行时也需要(会被打包),大部分的jar包都是这个范围

【示例】对mavenDemo进行打包操作,查看war包内应该有所有的jar

 

2. provided :编译需要,测试需要,运行时不需要(不会被打包),例如servlet-api

【示例】在mavenDemo引入servlet-api.jar的依赖,但servlet-api只在编译的时候需要,测试需要,运行时不需要(不会被打包),因为tomcat会提供,故scope取值为provided.


 

mavenDemo进行打包操作,查看war包内应该有所有的jar,还是18jar包,没有servlet-api-2.5.jar,可见编译时会可见,但是不会被打包。

 

3. test编译时不需要、测试时需要、运行时不需要(不会被打包),例如junit包

【示例】导入junitjar


 

mavenDemo3进行打包package的操作,发现junit包并没有被打包:


 

 

4.runtime: 编译不需要,测试时需要,运行时需要(会被打包),例如:jdbc驱动


 

mavenDemo进行打包package的操作,发现mysql包有被打包:


5. system:一个jar包如果是在本地,不在maven仓库内,那么scope的取值为system.编译时需要,测试时需要,运行时不需要(不会被打包)。例如:oracle的驱动包,从中央仓库无法下载,需要先下载到本地,再通过本地路径引入。

先下载orace的包到本地:

 

然后添加该jar包的依赖:


也可以jar包上传到本地仓库,通过坐标查找(推荐),步骤如下:

选择项目右键import-->Install or deploy an artifact to a Manve repository.

 

 

然后添加该jar包的依赖:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值