目录
compile
默认值,表示被依赖参与编译、测试和运行阶段。
provided
该依赖在打包时可以不把该依赖打进去。比如项目发布到 tomcat 中,但是 tomcat 自带了 servlet 相关 jar 包,就可以将 scope 指定为 provided。
runtime
该依赖不参与编译阶段,但会参与运行和测试阶段。例如各个数据库的 jdbc 驱动。
test
该依赖参与测试阶段,不会随项目发布。
system
和 provided 类似,该系统在项目中以外部 jar 的形式提供。在中央仓库中没有此 jar。
import
导入依赖范围。该范围的依赖只在dependencyManagement标签才有效。它的作用是将目标pom的dependencyManagement标签中的依赖,合并到当前pom的dependencyManagement标签内,供引用项目中使用。由于import依赖的特殊性,一般看到import范围时,就会存在<type>pom</type>,即指向打包类型为pom的模块。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.6.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>