Dependency Scope 是用来声明依赖项(Dependency)的可见范围的。
在 maven 现在的版本中,对于依赖项有4中scope可以设置:
compile: 这是默认的scope,表示依赖性可以在整个生命周期中可见。而且,该依赖项会传递到子的项目中。
provided: 跟compile相似,但是表明了该依赖项由JDK或者容器提供,这个scope 只能作用在编译和测试时,同时没有传递性,并且不会将包打入本项目中。
runtime: 表示该依赖项不作用在编译时,但会作用在运行和测试时
test: 表示dependency作用在测试时,不作用在运行时,也不会将包打入本项目中。
system: 跟 provided 相似,但是在系统中要以外部JAR包的形式提供,maven不会在repository查找它。
import: 只使用在
中,表示从其它的pom中导入dependency的配置