maven 依赖中scope标签的配置范围详解
程序员文章站
2022-05-31 09:35:57
在创建Maven项目时,需要在pom.xml 文件中添加相应的依赖,其中有一个scope标签,该标签是设置该依赖范围 (maven项目包含三种classpath{编译classpath,测试classpath、运行classpath})的,其可选配置:compile、test、provided、ru ......
在创建maven项目时,需要在pom.xml 文件中添加相应的依赖,其中有一个scope标签,该标签是设置该依赖范围
(maven项目包含三种classpath{编译classpath,测试classpath、运行classpath})的,其可选配置:compile、test、provided、runtime、system和import。
maven有以下几种依赖范围:
- compile:编译依赖范围,如果在依赖中没有配置该标签,则默认为该依赖范围。此依赖范围对 于编译、测试、运行三种classpath都有效。
-
test:测试依赖范围,此依赖范围只针对于测试classpath有效。在编译和运行时,都不会引入。
- provided:已提供依赖范围,使用该依赖范围对于编译和测试的classpath有效,在运行时,不会引入。
- runtime:运行时依赖范围,使用该依赖范围对测试和运行的classpath有效,在编译时,不会引入。
- system:系统依赖范围,该依赖范围与provided依赖的范围完全一致,但是该依赖必须通过配置systempath元素来显示指定依赖文件的路径,此类依赖不是由maven仓库解析的,而且往往与本机系统绑定,可能造成构件的不可移植。
- import:导入依赖范围,该依赖范围不会对三种classpath产生影响,该依赖范围只能与dependencymanagement元素配合使用,其功能为将目标pom文件中dependencymanagement的配置导入合并到当前pom的dependencymanagement中。
以上内容的学习参考以下文献
对此,非常感谢。