Maven
一、小白入门
第一章、Maven概述
1、为什么要学习Maven?
1、Maven作为依赖管理工具
jar包的规模
1
随着我们使用越来越多的框架,或者框架封装程度越来越高,项目中使用的jar包也越来越多,项目中,一个模块里面要用到上百个jar包是非常正常的。
比如下面这个例子,我们只用到SpringBoot、SpringCloud框架中的三个功能:
- Nacos服务器注册发现
- Web框架环境
- 图模块技术Thyme leaf
最终导入了106个jar包
而如果使用Maven来引用这些jar包只需要配置三个【依赖】。
jar包的来源

jar之间的依赖关系

2、Maven作为构建管理工具
你没有注意过的构建
1
你可以不使用Maven,但是构建必须要做,当我们使用idea进行开发时,构建是idea替我们做的。

脱离IDE环境仍需构建

3、结论
- 管理规模庞大的jar白,需要专门的工具
- 脱离ide环境执行构建操作,需要专门的工具
2、什么是Maven?
Maven是Apache软件基金会组织维护的一款专门为java项目提供构建和依赖管理支持的工具。
1、构建


2、依赖

3、Maven的工作机制

第二章、Maven核心程序解压和配置
1、Maven核心程序解压和配置
1、Maven官网下载及解压
Maven官网:https://maven.apache.org/
windows:下载bin.zip/src.zip
linux:下载tar.gz

重点关注conf/settings.xml
bin/mvn.cmd 是mvn可执行文件
2、指定本地仓库



3、配置阿里云提供的镜像仓库

1 | <!--阿里云镜像1--> |

4、配置Maven工程的基础JDK版本
1 | <profiles> |

2、配置环境变量
1、检查JAVA_HOME配置是否正确


2、配置MAVEN_HOME

3、配置PATH
将MAVEN_HOME引用到path
4、验证

第三章、使用Maven:命令行环境
1、根据坐标创建Maven工程
1、Maven核心概念:坐标



2、实验操作






⑤解读生成的pom.xml
1 | <!-- project 标签:根标签,表示对当前工程进行配置、管理--> |
3、Maven核心概念:POM

4、Maven核心概念:约定的目录结构


2、在Maven工程中编写代码
1、主体程序

1 | package com.lxg.maven; |
2、测试主程序
测试类:
1 | package com.lxg.maven; |
3、执行Maven的构建命令
1、要求

2、清理工作
mvn clean
效果:删除target目录
3、编译操作


4、测试操作
mvn test
测试的报告存放的目录:target/surefile-reports

5、打包操作
mvn package
打包的结果—jar包,存放的目录:target
6、安装操作



4、创建Maven版的Web工程
1、说明

2、操作


3、生成的pom.xml文件
1 |
|
4、生成的Web工程的目录结构

5、创建Servlet

③在包下创建Servlet类
1 | package com.lxg.maven; |

1 | <servlet> |
6、在index.jsp页面编写超链接
1 | <html> |
7、编译


8、配置对servlet-api.jar包的依赖

1 | <dependency> |
9、将Web工程打包为war包

10、将war包部署到Tomcat上运行
将war包的解压包复制到tomcat的webapps目录下,然后启动tomcat服务器即可在浏览器访问
5、让Web工程依赖Java工程
1、观念

2、操作
在web工程的pom.xml文件中,找到dependencies标签,在标签中做如下配置
1 | <dependency> |
3、在web工程中,编写测试代码

4、执行Maven命令





6、测试依赖范围
1、依赖范围


部署到服务器是否有效取决于 会不会参与打包。
provided:已提供,说明服务器已经提供了,打包的时候就不要参与进去。
若是服务器已有的你还参与打包了就会发生冲突,常见会抛空指针异常或找不到类异常。

7、测试依赖的传递性
1、依赖的传递性

2、使用compile范围依赖spring-core

1 | <dependency> |

8、测试依赖的排除
1、概念

2、配置方式
1 | <dependency> |
3、测试

9、继承
1、概念

2、作用


3、举例

4、操作


1 | <modules> |


1 | <!-- 在父工程中统一管理依赖信息 --> |


1 | <dependency> |

1 | <!-- 通过自定义属性,统一指定Spring的版本 --> |
1 | <dependency> |
5、实际意义

10、聚合
1、聚合本身的含义

2、Maven中的聚合

3、好处

4、聚合的配置

5、依赖循环问题

第四章、使用Maven:IDEA环境
1、创建父工程
1、创建Project

2、配置Maven信息

3、创建Java模块工程

测试:

IDEA执行mvn命令的三种方式:
1、
2、

跳过test
-D表示后面要附加的参数,字母D和后面的参数是紧挨着的,中间没有任何其他的字符
3、
4、创建Web模块工程

运行:

5、其他操作
1、工程导入


2、模块导入


第五章、其他核心概念
1、生命周期
①作用

②三个生命周期


③特点

2、插件和目标

3、仓库

二、掌握Maven环境开发全流程
三、Maven技术体系全面覆盖
