Maven 依赖范围和依赖传递详解
18.10.8 松江图书馆
依赖基本配置
在pom.xml文件 根元素project下的 dependencies标签中,配置依赖信息,内可以包含多个 dependence元素,以声明多个依赖。每个依赖dependence标签都应该包含以下元素:
- groupId, artifactId, version : 依赖的基本坐标, 对于任何一个依赖来说,基本坐标是最重要的, Maven根据坐标才能找到需要的依赖。
这3个属性,可以理解成一个3维的x-y-z坐标,可以通过3个值,来确定一个库中维一个依赖
gooupId 可以理解成一个java的包名(java包名中默认以公司域名倒写),在对应的.m2仓库,它是一个可以有很多层的目录,以. 来进行目录分级
artifactID 可以理解是项目或模块的名称
version 表示不同的版本号
-
type: 依赖的类型,大部分情况下不需要声明。 默认值为jar
-
Scope: 依赖范围(compile,test,provided,runtime,system 五种状态)
-
Optional:标记依赖是否可选
-
exclusions: 用来排除传递性依赖 其中可配置多个exclusion标签,每个exclusion标签里面对应的有groupId, artifactId, version三项基本元素
example Code:
<project>
<groupId>groupA</groupId>
<artifactId>artifactA</artifactId>
<version>1.0</version>
<type>jar<type>
<scope