Dependency Scope 是用来声明依赖项(Dependency)的可见范围的。

在 maven 现在的版本中,对于依赖项有4中scope可以设置:

compile: 这是默认的scope,表示依赖性可以在整个生命周期中可见。而且,该依赖项会传递到子的项目中。

provided: 跟compile相似,但是表明了该依赖项由JDK或者容器提供,这个scope 只能作用在编译和测试时,同时没有传递性,并且不会将包打入本项目中。

test: 表示dependency作用在测试时,不作用在运行时,也不会将包打入本项目中。

system: 跟 provided 相似,但是在系统中要以外部JAR包的形式提供,maven不会在repository查找它。