1. Maven简介
1.1 出现背景
传统项目管理中问题颇多,比如开发中用到的Jar包、War包等工具包版本不一致,影响项目开发,而且开发过程中可能会升级版本,步骤繁琐等问题。这些极大影响了项目管理的难度与成本。
1.2 Maven的含义
其中:POM为Project Object Model
将远程中的各种资源包下载到本地,通过Maven工具使用POM.xml文件来调用这些资源文件统一项目中的用到的资源文件的版本,而避免了每次构建新项目都需要配置环境问题。
无论是什么开发环境,Maven都通过以插件的方式支持项目的生命周期的构建,包括以下等内容:
- Jar包与war包
- 源代码
- 帮助文档
- 各种用到的xml文件
1.3 Maven作用
- 项目构建:提供标准、跨平台的自动化项目构建方式
- 依赖管理:方便项目依赖(Jar包)管理,解决版本冲突
- 统一开发结构:统一且标准化项目结构,如下图所示
![[Pasted image 20211102225209.png]]
1.4 Maven概念
1.4.1 仓库
用于存放资源文件的地方,包括Jar包,War包,xml文件等。
分为:
- 本地仓库,用于直接管理项目使用,在开发人员自己电脑上,需要什么资源就从远程仓库下载
- 远程仓库(中央仓库),存放目前所有项目用到的所有包-------啥包都有,开源
- 私服,解决本地和远程仓库相连有带宽限制问题,大公司用私服与远程中央仓库相连,本地仓库再与私服相连,不开源,这是后来出现的。
注:中央仓库与私服的比较
名称 | 作用 | 是否开源 | 访问速度 |
---|---|---|---|
中央仓库 | 为所有开发人员提供最全的资源 | 是,不能存储有版权资源文件 | 很慢,在国外且很多人用 |
私服 | 仅仅为某一区域提供资源 | 否,可以存储自主开发资源文件 | 快,有些是局域网级别 |
1.4.2 坐标
1.4.2.1 作用
用来描述仓库中某资源文件的位置
1.4.2.2 组成
- groupId,所用Maven项目隶属组织名称,格式是域名反写,如org.mybatis
- artifactId,所用Maven项目名称
- version,当前项目版本号
- packing,该项目打包方式