依赖配置
- 依赖:指当前项目运行所需要的jar包,一个项目可以引入多个依赖
- 配置:
- 在pom.xml中编写<dependencies>标签
- 在<dependencies>标签中使用<dependency>引入坐标
- 定义坐标的groupId、artifacId、version
- 点击刷新按钮,引入最新加入的坐标
ps:如果引入的依赖本地仓库不存在,将会连接远程仓库/中央仓库,然后进行依赖下载;如果不知道依赖的坐标信息,可以到Maven Repository: Search/Browse/Explore (mvnrepository.com)去查询
依赖传递
- 依赖具有传递性
- 直接依赖:当前项目中通过依赖配置建立的依赖联系
- 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源
- WebTest工程中也会有FirstTest:1.0/2.0Jar包
具体示例如下:
首先准备多个相互依赖的关系的maven项目
首先来看A项目的pom.xml文件
其中A项目依赖B项目
同样的B项目中的pom.xml文件显示
B项目依赖项目C
最后看C项目
由上述可以知道,A项目中未直接依赖C项目,但是通过B项目间接依赖了C项目
具体图示如下:
ps:在专业版二点idea中可以通过视图查看maven项目的依赖关系
具体如下:
在需要查看的maven项目中右键选择图标--显示依赖项
最终结果如下:
便可以清晰地显示依赖关系
- 排除依赖:在主动断开依赖的资源,被排除的资源无需指定版本
通过在pom.xml文件中使用<exclusions></exclusions>标签来完成排除依赖
以上述A项目为例操作如下:
在看依赖关系
完成了依赖排除
依赖范围
- 依赖的jar包,在默认情况下,可以在任何地方使用。可以通过<scope>...</scope>标签设置其使用范围,作用范围:
- 主程序范围有效。(main文件夹范围内)
- 测试程序范围有效。(test文件夹范围内)
- 是否参与打包运行。(package指令范围)
- scope常见取值
Maven生命周期
Mavnen的生命周期是为了对所有的maven项目构建过程进行抽象和统一
Maven中由3套相互独立的生命周期
- clean:清理工作
- default:核心工作:编译、测试、打包、安装、部署等
- site:生成报告、发布站点
-
clean生命周期:该生命周期用于清理项目,包括删除生成的文件和目录。它包括以下阶段:
- pre-clean:执行清理前的准备工作。
- clean:清理生成的文件和目录。
- post-clean:清理后的操作。
-
default生命周期:该生命周期是构建项目的核心生命周期,用于编译、测试、打包、部署等。它包括以下阶段:
- validate:验证项目是否正确且所有必要信息可用。
- compile:编译项目的源代码。
- test:使用适当的单元测试框架测试编译的源代码。
- package:将编译的代码打包成可分发的格式,如JAR。
- verify:对集成测试的结果进行检查。
- install:将包安装到本地仓库,供本地其他项目使用。
- deploy:将最终的包复制到远程仓库,供其他开发人员和项目使用。
-
site生命周期:该生命周期用于生成项目的站点文档。它包括以下阶段:
- pre-site:执行生成站点文档前的准备工作。
- site:生成项目的站点文档。
- post-site:生成站点文档后的操作,如部署站点到服务器上。
- site-deploy:将生成的站点文档部署到服务器上。
ps:在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行
执行生命周期
- 在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行
- 在命令行中,通过命令执行
- mvn + 要执行的阶段名称
- mvn clean
- mvn + 要执行的阶段名称
ps:各个生命周期的运行是通过对应的插件来完成的,mavne的本质是一个插件执行框架