依赖范围
- 依赖:通俗的说是jar包在哪个环节会用到(编译时、测试时、运行时)
- 范围:通过不同的关键字指定范围,说明jar包(或者是war包、pom包)在哪个环节用到
分类:
- compile:编译依赖,在三个环节到用到该jar包
- test:测试依赖,在测试环节用到
- provided:提供依赖,在编译和测试环境用到,因为在运行环境时,环境本身会提供相关的jar包,如果再引入就会冲突,比如在JavaEE web项目中我们需要使用servlet的API,但是Tomcat中已经提供这个jar,我们在编译和测试的时候需要使用这个api,但是部署到tomcat的时候,如果还加入servlet构建就会产生冲突,这个时候就可以使用provided
- runtime:运行依赖,在测试和运行时用到
- system:系统依赖,类似于provided,但是它要指定本地依赖的jar包路径,也就是与本地系统进行了绑定,不利于转移性
- import:导入其它POM.xml文件中的依赖,在dependencyManagement的时候用到