【Maven】scope属性

文章目录

  • 介绍
  • 详细介绍
    • scope依赖范围
    • scope与classpath关系

介绍

Scope指定依赖关系的范围,用于限制依赖关系的传递性及影响各个构建任务的类路径。

详细介绍

scope依赖范围

范围 说明 使用场景
compile 默认,编译、运行、测试、打包,可传递
provided 编译、运行、测试,不可传递,可被继承 Servlet API和JavaEE API的依赖关系,Web容器已经提供,无需被打包。
runtime 运行、测试、打包,可传递 JDBC驱动,无需编译,运行时需要。
test 编译、测试 ,不可传递 Junit
system 不推荐,与provider范围相似,但必须显示systemPath属性定义本地系统中JAR 文件的路径,Maven不会从仓库中寻找,可传递
import 仅作用于中的pom类型的依赖项 父POM的导入

scope与classpath关系

范围 编译classpath 测试classpath 运行时classpath 传递性
compile Y Y Y Y
provided Y Y - -
runtime - Y Y Y
test - Y - -
system Y Y - Y

你可能感兴趣的:(Maven)