简述
pom.xml
文件中,dependency
标签的scope
属性定义了依赖包在项目的使用阶段。
项目阶段包括: 编译compile、测试test、运行run和发布deploy。
本文对几种scope进行简单的对比总结。
总结
scope | 编译阶段 | 测试阶段 | 运行阶段 | 发布阶段 | 备注 |
---|---|---|---|---|---|
compile | yes | yes | yes | yes | 默认scope |
provided | yes | yes | yes | - | |
system | yes | yes | yes | - | @Deprecated;类似provided; 需指定systemPath属性,从本地仓库下载依赖; |
runtime | - | yes | yes | yes | |
test | - | test | - | - | 举例:junit |
import | ~ | ~ | ~ | ~ | 只用于 dependencyManagement 中type=pom的dependency举例:spring-cloud-dependencies |