Maven依赖范围

目录

1. 何为依赖

2. maven项目加载依赖的顺序

3. Maven的依赖范围

4. Maven的依赖范围配置


1. 何为依赖

        当 A jar 包用到了 B jar 包中的某些类时,A 就对 B 产生了依赖,这是概念上的描述。Maven解析依赖信息时会到仓库中查找被依赖的jar包。

2. maven项目加载依赖的顺序

  1. 先到本地仓库中根据项目坐标找依赖

  2. 找不到的话会在远程仓库下载

  3. 下载到本地仓库

3. Maven的依赖范围

Maven的依赖范围包括: compile、provide、runtime、test、system

以下为对应的范围与详细表述

范围表述
compile

表示编译范围,指A在编译时依赖B,该范围为默认依赖范围。

编译范围的依赖会用在编译,测试,运行,由于运行时需要,

所以编译范围的依赖会被打包

provide

provide依赖只有当jdk或者一个容器已提供该依赖之后才使用。provide依赖在编译和测试时需要,在运行时不需要。

例如:sevlet api 被Tomcat容器提供了

runtime

runtime依赖在运行和测试系统时需要,但在编译时不需要。

例如:jdbc的驱动包。由于运行时需要,所以runtime范围的依赖会被打包

test

test 范围依赖在编译和运行时都不需要,只在测试编译和测试运行时需要。

例如:Junit,由于运行时不需要,所以test范围依赖不会被打包

systemsystem范围依赖与provide类似,但是必须显示的提供一个对于本地系统中jar文件的路径。 一般不推荐使用

依赖一览表

依赖范围编译测试运行时是否会被打入jar包
compile
provided××
runtime×
test×××
system×

4. Maven的依赖范围配置

        在pom文件中配置scope

<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>compile</scope>
    </dependency>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值