一、依赖配置
依赖:指当前项目运行所需要的jar包,一个项目可以引入多个依赖
配置:
1.在pom.xml中编写<dependencies>标签
2.在<dependencies>标签中使用<dependency>引入坐标
3.定义坐标的groupld,artifactld,version
4.点击刷新按钮,引入最新加入的坐标
必须得出现这一栏,才表示成功
注意:如果引入的依赖,在本地仓库不存在,将会连接远程仓库/中央仓库,然后下载依赖(会比较耗时,要耐心等待)如果不知道依赖坐标的信息,可以到https://mvnrepository.com/中搜素
二、依赖传递
依赖具有传递性
A项目依赖了一个JAR包和一个B项目,但是B项目还依赖了C项目和其他JAR包,因为传递的原因,A项目即使没有依赖C项目,但是因为B项目依赖了C项目,所以A也自动依赖了C项目
直接依赖:在当前项目中通过依赖配置建立的依赖关系
间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源(淡黄色部分)
此时我们A项目只依赖了B项目和另外一个JAR包,但是通过下图可知,B还依赖了其他的资源,所以传递给了A项目
那如果我们不想让B后面的依赖传递给A怎么办呢,此时我们就可以使用排除依赖
排除依赖:排除依赖指主动断开依赖的资源,被排除的资源无需指定版本
通过<exclusion>来排除B后面所依赖的JAR包
三、依赖范围
依赖的JAR包,默认情况下,可以在任何地方使用。可以通过<scope>...</scope>设置其作用范围
作用范围:
主程序范围有效。(main文件夹范围内)
测试程序范围有效。(test文件夹范围内)
是否参与打包运行。(package指令范围内)
注意:测试的方法很简单,是否有效我们只需要看看是否能使用依赖里的类或者接口
四、生命周期
Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一。
Maven中有3套相互独立的生命周期:
clean:清理工作
default:核心工作,如:编译、测试、打包、安装、部署等
site:生成报告、发布站点等
注意:每套生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段
对于常见的阶段:
clean:移除上一次构建生成的文件
compile:编译项目源代码
test:使用合适的单元测试框架运行测试(junit)
package:将编译后的文件打包,如:jar、war等
install:安装项目到本地仓库