一、什么是Maven
1.1 Maven的概念
Maven是⼀个项目管理工具。基于POM(Project Object Model,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。(通过pom.xml文件的配置获取jar包,而不用手动去添加jar包)
1.2 Maven的用处
Maven可以提高开发效率,减少开发Bug,在我们学习SpringBoot的过程中,Maven主要用来进行项目构建以及管理依赖。
二、如何创建Maven项目
创建Maven项目之前,要先了解自己的idea类型,如果是社区版,版本必须在2022.1.4之前,jdk的版本要在17之前。
接下来开始创建一个Maven项目:
1.点击close project关闭当前项目对于社区版如果不先关闭当前项目,直接New一个Maven项目可能会出现卡死的情况。
2.点击New Project
3.选择Maven(平是时我们写代码选择的都是IntelliJ),然后点击Create创建项目即可
创建的Maven项目和IntelliJ一样,可以正常的编写代码,只是多了一些功能而已。
三、Maven 的核心功能
Maven的核心功能主要体现在两个方面,分别是项目构建和管理依赖。
3.1 项目构建
Maven 提供了标准的,跨平台(Linux, Windows, MacOS等)的自动化项目构建方式 当我们开发了一个项目之后, 代码需要经过编译, 测试, 打包, 发布等流程, 每次代码的修改, 都需要经过这些流程, 如果代码反复调试修改, 这个流程就需要反复进行, 就显得特别麻烦, 而Maven 给我们提供了 一套简单的命令来完成项目的构建.
例如:
1.点击右上角的Maven就会出现下图的界面,点击package就会自动完成打包过程
2.当最后几行出现BUILD SUCESS字样的时候表示打包成功
!!! 打包的意思就是将所有的class文件放到一起,形成一个jar包或者war包。
3.2 管理依赖
Maven是一个项目管理工具, 通过pom.xml文件的配置获取jar包,而不手动去添加jar包,获取的jar包, 其实就是依赖.
pom.xml 就是Maven的配置文件。
3.2.1 依赖配置
依赖:即当前项目运行所需要的jar包。
如前面学习JDBC时,我们需要手动下载mysql-connector-java的包.并且添加到项目中,但是如果使⽤Maven, 我们只需要在pom.xml中引入mysql-connector-java的依赖就可以了 。
1.在pom.xml文件中dependencies标签内添加依赖坐标。
2.点击刷新按钮,引入新加入的依赖
!!!注意:对pom.xml文件的每一次修改都需要刷新。
3.
在上图中可以看到,我们只引入了mysql的依赖,但是却添加了两个依赖,这就是依赖传递
3.2.2 依赖传递
不使用maven时, 向项目中添加依赖的jar包,需要把所有的jar包都复制到项目工程下( 比如 A 依赖B, B依赖C, 那么 A项目引入 B 的同时,也需要引入C, 如果我们手动管理这个依赖, 这个过程就会比较麻烦, 我们需要知道每个库都依赖哪些库, 以及这些依赖之间的版本是如何关联的)
但是如果使用了Maven,就不需要管理jar包之间的依赖关系,Maven会将具有依赖关系的包一并引入。
在上图中,项目A引入jarA时,Maven会自动引入jarB和jarC。
3.2.3 依赖排除
如果项目A不需要jarB,也可以将jarB删除。
四、Maven Help插件
Maven Help插件的作用是查看jar包之间的依赖关系,也可以删除依赖。
一、下载
1.点击file->settings->plugins
2.点击Marketplace,再搜索maven helper,点击Install即可(如果已下载,显示的就是Installed)
3.下载完成后,会出现如下情况
二、使用
1.点击Dependency Analyzer
2.观察项目的依赖
这个就是mysql的依赖,如果当前项目不需要这个依赖的话,可以右键删除,如: