[TOC]
# 依赖范围
依赖就是我们编程时需要使用到的他人为我们提供好的程序,各种框架、各种库、各种API、各种工具包等等都是这样的。
> 对于JAVA编程而言,我们需要将这些程序(打好的JAR包,放到classpath路径下就可以了)。
Maven为我们提供了三种classpath,编译、运行、测试,所以就进一步的产生了依赖范围这个概念,就是指这三种classpath在什么时候有效,下面是依赖范围(三种classpath有效的性的一个划分)的六种分类:
1. compile:默认范围,编译测试运行都有效
2. provided:在编译和测试时有效
3. runtime:在测试和运行时有效
4. test:只在测试时有效
5. system:在编译和测试时有效,与本机系统关联,可移植性差
6. import:导入的范围,它只使用在dependencyManagement中,表示从其他的pom中导入dependency的配置