compile:**编译范围,指 A 在编译时依赖 B,此范围为默认依赖范围。编译范围的依赖会用在 编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。
白:在编译与运行都有效,默认为这个。
provided:provided 依赖只有在当 JDK 或者一个容器已提供该依赖之后才使用provided 依 赖在编译和测试时需要,在运行时不需要,比如:servlet api/jsp-api 被 tomcat 容器提供。
白:只在编译与测试时使用,运行不需要。
runtime:****runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc 的驱动包。由于运行时需要所以 runtime 范围的依赖会被打包。
test:test 范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用, 比如:junit。由于运行时不需要所以 test范围依赖不会被打包。
system:system 范围依赖与 provided 类似,但是你必须显式的提供一个对于本地系统中 JAR 文件的路径,需要指定 systemPath 磁盘路径,system依赖不推荐使用。
这个基本不用。