一、什么是Maven

Maven对项目进行模型抽象,充分运用的面向对象的思想,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。简单的来说Maven是一个项目管理工具,它包含了一个项目对象模型(POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),用来运行在生命周期阶段中插件目标的逻辑。

二、Maven的好处

Maven的好处总结起来有两点,分别是依赖管理生命周期

1、依赖管理:对第三方的jar包进行统一的管理,通过maven定义jar包的坐标,自动从maven仓库中下载到工程(体现了代码重用的原则)。

2、生命周期:生命周期的一键构建,提供了一套对项目生命周期管理的标准,开发人员,测试人员统一使用maven进行项目的构建.项目的生命周期管理:编译,测试,打包,部署,运行。

三、Maven的仓库分类及简单的说明

本地仓库 : 相当于缓存。本地仓库存储在本地的磁盘当中,里面存放的是经常使用的jar包。

远程仓库 : 也叫做私服。基本每个公司都会有自己的私服,当本地的磁盘中不存在需要的jar包资源,则会请求私服进行资源下载。

中央仓库 : 远程仓库,由jar专业团队统一维护。

四、Maven定义jar包的各个字段的描述

groupId:定义当前Maven组织的名称。

artifactId:定义项目模块。

version:定义当前项目的版本。

scope:依赖的范围。

其中,依赖范围如下图所示(提醒一下provided,因为项目真正运行的时候,在tomcat有特定的serclet-api,所以在servlet-api的依赖范围规定为provided)。

maven依赖 groupId liferay maven依赖管理_项目管理工具

五、Maven常用的命令(生命周期)

  • mvn clean命令; 清除target目录
  • mvn compile命令; 编译,生成target目录
  • mvn test命令; 将测试代码和核心代码一起编译
  • mvn package命令; 编译测试代码和核心代码并且打包对应的包类型
  • mvn install命令; 编译测试代码和核心代码并且打包对应的包类型并且将生成的包安装到本地仓库
  • mvn deploy命令; 用于发布项目