依赖

配置项目所要依赖的 jar,在 pom.xml 使用 dependency 元素配置,通过坐标先从本地仓库找,若没有再从远程仓库找。

2.1、scope

Maven 在编译,测试,运行的时候,各需要一套 classpath(比如编译的时候会有编译的 classpath,测试的时候会有测试的 classpath)。scope 表明该依赖的项目和三个 classpath 的关系,即表示依赖什么阶段起作用,什么阶段不起作用。

scope 主要可选

  • compile:默认,适用于所有阶段,会随着项目一起发布,在编译,测试,运行时都有效;

  • provided:编译和测试阶段使用;典型的如 servlet-api.jar lombok,打包时不需要,容器来提供;

  • runtime:测试和运行阶段使用,用于接口和实现分离,典型的如 jdbc 具体驱动实现 mysql 驱动;

  • test:测试阶段使用,不会随项目发布,如 junit。依赖_第1张图片

     

2.2、传递性

Maven 的依赖是具有传递性的(Scope必须是compile),比如 A -> B,B -> C,那么 A 间接的依赖于 C,这就是依赖的传递性,其中 A 对于 B 是第一直接依赖,B 对于 C 是第二直接依赖,C 为 A 的传递性依赖。依赖的传递性可以解决依赖繁琐的问题。

你可能感兴趣的:(spring,boot,后端,java)