邹瑞20201116

总结

Maven

概念

Maven 是一个强大的项目管理和构建自动化工具,它通过抽象的项目对象模型(POM: Project Object Model)和构建生命周期模型(Project Lifecycle)来对项目及其构建过程进行管理(Dependency Management System),Maven 最大化的消除了构建的重复,提升了构建的效率与标准化。除此之 外,Maven 还有依赖管理、自动生成项目站点、代码静态检查等特性。现在已经有无数开源或商业项 目使用Maven进行构建,Maven 现在已经是 Java 社区事实标准的构建工具。

作用

maven对项目的第三方构件(jar包)进行统一管理。向工程中加入jar包不要手工从其它地方拷贝,通 过 maven定义jar包的坐标,自动从maven仓库中去下载到工程中。 maven提供一套对项目生命周期管理的标准,开发人员、和测试人员统一使用maven进行项目构建。 项目生命周期管理:编译、测试、打包、部署、运行。 maven对工程分模块构建,提高开发效率。

概念模型

项目对象模型 (Project Object Model)。POM对象模型,每个maven工程中都有一个pom.xml文 件,定义工程所依赖的jar包、本工程的坐标、打包运行方式。

依赖管理系统(基础核心 )。maven通过坐标对项目工程所依赖的jar包统一规范管理。 maven定义一套项目生命周期。清理、初始化、编译、测试、报告 、打包、部署、站点生成。 一组标准集合。maven工程有自己标准的工程目录结构、定义坐标有标准。

maven 管理项目生命周期过程都是基于插件完成的,例如:开发中使用的tomcat插件。

生命周期

maven把项目的构建划分为不同的生命周期(lifecycle)。粗略一点的话,它这个过程(phase)包括:编 译、测试、打包、集成测试、验证、部署。maven中所有的执行动作(goal)都需要指明自己在这个过程 中的执行位置,然后maven执行的时候,就依照过程的发展依次调用这些goal进行各种处理。

这个也是maven的一个基本调度机制。一般来说,位置稍后的过程都会依赖于之前的过程。当然, maven同样提供了配置文件,可以依照用户要求,跳过某些阶段。

Maven的坐标

Maven的一个核心的作用就是管理项目的依赖,引入我们所需的各种jar包等。为了能自动化的解析任 何一个Java构件,Maven必须将这些Jar包或者其他资源进行唯一标识,这是管理项目的依赖的基础,也 就是我们要说的坐标。包括我们自己开发的项目,也是要通过坐标进行唯一标识的,这样才能才其它项 目中进行依赖引用。坐标的定义元素如下:

groupId:定义当前Maven项目名称

artifactId:定义项目模块

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

例如:要引入junit的测试jar,只需要在pom.xml配置文件中配置引入junit的坐标即可:

<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>

maven查询坐标常用网站: http://mvnrepository.com/

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1