一、前言
javaweb学习的第四天,不知道今天你们是否坚持下去了。今天学习到的是maven,温馨提示一下,idea中自带maven不用自行去下载了。前期的配置工作太过复杂了,小编感觉自己能力有限并不能将其讲的太清楚,还请大家在B站上观看相关下载安装的视频,小编在这里只进行细节上的讲解。
将小编在学习过程中遇到的一些问题提出并加以解决,大家有什么其他的问题也可以提出来,一起去探讨一下。
事先说明一下,前端的学习已经结束了,不知道大家学的如何呢,重明天开始就要开启后端的学习了,这注定是一个艰难的过程,希望读者们能够和小编一同坚持下去。💪💪(ง •_•)ง
前端忘了的可以看一下下面这三篇文章欧👇
二、maven简要概述
Maven 是一个流行的项目管理和构建工具,主要用于 Java 项目的构建、依赖管理和项目信息管理。它提供了一种标准化的方式来构建项目,管理项目的依赖和文档,并且支持多模块项目的开发。
1. 项目管理
Maven 提供了一种声明式的方式来管理项目,通过一个项目描述文件(pom.xml
)来定义项目的结构、依赖关系和构建过程。pom.xml
文件包含了项目的配置信息,如项目依赖、插件配置、构建目标等。通过定义这些信息,Maven 可以自动化地完成项目的构建和管理,使得开发者可以更加专注于代码的开发而不是配置管理。
2. 依赖管理
Maven 提供了强大的依赖管理功能。通过在 pom.xml
中声明依赖关系,Maven 能够自动下载所需的库文件,并且可以管理这些依赖的版本和传递依赖。依赖管理是 Maven 的一个核心功能,它简化了项目的构建和部署过程,同时确保项目使用的库文件是正确的版本。
3. 构建工具
Maven 提供了一套标准化的构建生命周期和构建过程。它使用插件来执行各种构建任务,如编译、测试、打包、部署等。Maven 的构建生命周期定义了一系列的阶段(如 validate
, compile
, test
, package
, install
, deploy
),每个阶段可以关联到一个或多个插件执行特定的任务。开发者可以根据需要扩展和定制这些构建过程。
4. 插件生态系统
Maven 的插件生态系统非常丰富,涵盖了各种各样的开发任务和工具支持。例如,有编译插件用于编译源代码,测试插件用于执行单元测试,打包插件用于生成可分发的软件包,部署插件用于将生成的软件包发布到远程仓库等。开发者也可以开发自定义插件来扩展 Maven 的功能。
5. 多模块支持
Maven 支持多模块项目的构建。通过定义父项目和子模块之间的依赖关系,Maven 可以协调和管理多个相关的项目模块,使得复杂项目的构建和管理更加高效和一致。这种模块化的支持使得团队可以更好地协同工作,并且可以实现模块间的代码重用和分发。
6. 中央仓库和镜像
Maven 使用中央仓库作为默认的依赖库存储和分发中心,开发者可以在 pom.xml
中声明从中央仓库下载依赖。此外,Maven 支持镜像机制,可以配置自定义的镜像站点来加速依赖下载和提高稳定性。
7. 生命周期和阶段
Maven 的构建生命周期由一系列阶段组成,每个阶段都有其特定的任务和目标。开发者可以通过执行不同的 Maven 命令来触发特定阶段的执行,例如 mvn compile
编译阶段,mvn test
测试阶段等。每个阶段可以关联到一个或多个插件执行特定的任务,这种设计使得 Maven 的构建过程非常灵活和可扩展。
8. 社区和生态系统
Maven 是一个开放且活跃的项目,拥有一个庞大的社区和丰富的生态系统。开发者可以在 Maven 中央仓库找到几乎所有流行的开源 Java 项目的库文件和插件,也可以通过社区参与讨论和贡献开发。
三、maven项目创建
最新版idea中maven项目的创建
四、maven依赖传递
在模块中手动创建依赖
右侧视图
调出视图框,方便后面的学习
注:这个视图需要自己去设置
步骤:视图->工具窗口->maven
项目模块显示图
步骤:maven模块->图表->显示图->项目模块
右侧视图和项目显示图的比较
五、maven依赖测试
如果所用到的依赖可以正常使用,系统就会自动提示。
注:系统默认模式下的依赖会同时适用与main&text文件夹