Maven Pom文件中的scope含义

一.scope作用

scope主要是为了管理依赖的部署,确定依赖的使用范围。使用scope标签,可以很方便、直观的进行依赖的总体管理。


二.scope的使用


compile(默认值)

缺省值,会随一起发布,打包到项目中去


provided

假定对应的依赖会由运行这个应用的JDK或者容器来提供,此依赖将参与编译、测试、运行阶段,但是不会参与到打包中去;
也就是说,它认为在运行的时候,环境中会有良好的支持,所以它不参与打包;
比如servlet包,在编译时需要,但是到了真正运行时则不需要了,因为服务器将提供这部分支持


runtime

在运行时可用,此依赖无需参与项目编译,但是会参与项目的测试和运行,并且最终会参与打包;


test

表示被依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行;比如Junit


system

与provided类似,但是它不会去maven仓库寻找依赖,而是在本地找;而systemPath标签将提供本地路径


import

由maven 2.0.9新加入,只能在dependencyManagement中使用,相当于从其他pom文件中导入依赖设置

猜你喜欢

转载自blog.csdn.net/qq_40579464/article/details/105788147