----------------------siwuxie095
Maven 简介
1、Maven 译为 "行家",它是 Apache 下的一个纯 Java 开发的开源
项目(目前),主要用于项目管理和自动构建
「Maven 是一个项目管理工具」
2、同样的项目,使用传统方式开发和使用 Maven 开发,二者实现的
功能都相同,但 Maven 项目的大小远小于传统项目的大小
原因如下:
Maven 项目没有直接将 jar 包导入到项目中,而是通过 Maven 坐标
从 Maven 仓库中找到需要的 jar 包
3、关于 Maven 坐标的理解
如:查找 spring-core-4.3.7.RELEASE.jar
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.7.RELEASE</version> </dependency> |
(1)groupId:当前 Maven 项目隶属的实际项目
(2)artifactId:当前 Maven 项目(也称 模块)
(3)version:当前 Maven 项目的版本号
注意:一个实际项目会有一个 或 多个 Maven 项目
例如:springframework 这一实际项目,包含多个
Maven 项目,如:spring-core、spring-aop、
spring-beans …
「推荐:使用实际项目名称作为 artifactId 的前缀」
参考链接:
4、Maven 的两大功能
(1)依赖管理:对项目依赖的所有 jar 包进行规范化管理
(2)项目构建:项目编码完成后,通过命令对项目进行编译、
测试、打包、部署等一系列操作
5、Maven 的概念模型
(1)项目对象模型(Project Object Model)
每一个 Maven 项目都有一个 pom.xml 文件,通过它来定义项目坐标、
项目依赖、项目信息、插件目标等
(2)依赖管理系统(Dependency Management System)
通过 Maven 的依赖管理对项目所依赖的 jar 包进行统一管理
(3)项目生命周期(Project Lifecircle)
使用 Maven 完成项目构建,项目构建包括:清理、编译、测试、部署
等过程,Maven 将这些过程规范为一个生命周期
(4)一组标准集合
Maven 为整个项目管理过程定义了一组标准,如:标准的项目目录结构、
标准的生命周期阶段、标准的坐标定义 …
(5)插件目标(Plugin Goal)
Maven 管理项目生命周期过程都是基于插件完成的
「一个插件可能由多个目标组成」
【made by siwuxie095】