1.compile : 默认。编译范围有效,在编译和打包时都会将依赖存储进去。
2.provided :在编译和测试的过程有效,最后生成包时不会加入。
3.runtime :运行和测试系统的时候需要,但在编译的时候不需要。
4.test :测试范围有效,在编译和打包时都不会使用这个依赖
5.system :与provided 类似,但是需提供一个本地系统中JAR 文件的路径。这么做是为了允许基于本地对象编译,而这些对象是系统类库的一部分。这样的构件应该是一直可用的,Maven 也不会在仓库中去寻找它。如果你将一个依赖范围设置成系统范围,你必须同时提供一个 systemPath 元素。