DevOps体系之Maven - Maven 简介

Maven 简介

何为Maven

Apache Maven 是apache下的一个开源项目,是纯java开发的,并且用来管理java项目,它是基于项目对象模型(POM,Project Object Model)的项目管理工具,Maven可以构建项目,生成报告和文档说明。

什么是构建

构建就是从源代码生成用户可以使用的目标,目标可以包括库、可执行文件或者脚本等等,比如:java项目的构建是源代码开始,编译 、测试、运行、打包、部署、运行的过程;常见的构建工具:Make、Ant、Maven;同时IDE工具也集成了构建工具

Maven是优秀的构建工具
  1. 提供统一的构建系统

    Maven使用其标准的项目对象管理模型(POM)和一组插件来构建项目,一旦熟悉maven项目,就知道所有Maven项目是如何够条件的,这样可以提升开发效率

  2. 简化构建过程

    虽然使用Maven不会消除对底层机制的了解,单Maven确实使我们开发人员避免许多细节的影响

  3. 提供优质的项目信息

    项目的依赖管理

    交叉引用来源

    单元测试报告

为什么用Maven

开篇中介绍到常见的构建工具有:Make、Ant、Maven,那我们就说说这三种构建工具,为什么用Maven

Make它本身确实很强大,可以利用所有系统的本地命令快速高效的完成任务,然而Make它是和系统绑定的,不是跨平台的,同时Makefile的一些语法出错很难排查,Make 是一个过程式的,需要开发人员指定每一个目标,以及完成该目标需要执行的任务,针对每一个项目,开发者都需要重写编写这一个过程。

Ant由于使用了java,因此可以看做是一个跨平台的Make,最早的Ant是没有依赖管理的,现在用户可以借助Lvy来管理依赖

Maven提供统一的构建系统,能快速构建成熟的系统,它是基于java编写的可以实现跨平台,同时还能够得到Maven社区的大量支持,并且它是开源、免费的;Maven是声明式的,项目构建过程和各阶段所需要的工作都是外部插件来完成,开发者只需要声明项目的基本元素,Maven就可以执行内置的完整过程,在很大程度上消除的重复,避免错误,Maven不仅有依赖管理,可能拥有全球java开源项目最多的中央仓库。

Maven与极限编程

极限编程可能是敏捷开发中最富有成效的方法之一,它有4个核心价值观:沟通(Communication)、简单(Simplicity)、反馈(Feedback)、勇气(Courage),还有一个扩展的第五个价值观 遵重(Respect)

Maven如何帮助XP团队实现一些核心价值:

  1. 简单 Maven暴露了一组一致的、简单的接口,帮助团队成员从原来的高度自定义的、复杂的构建系统中解脱出来,使用Maven现有的成熟的,稳定的组件也能简化构建系统的复杂度

  2. 交流与反馈 与版本控制系统结合后,所有人员都能执行最新的构建并快速得到反馈

  3. 测试驱动开发(TDD) TDD强调测试先行,所有的产品应该由测试用例覆盖,而测试是Maven构建生命周期中最重要的组成部分之一,并且Maven有现成的成熟插件支持业内框架的测试,如JUnit和TestNG

  4. 十分钟构建 十分钟构建强调我们能够随时快速的从源码构建出最终的产品,这恰恰是Maven所擅长的,只需要一些简单的配置,之后用一条简单的命令就能让Maven帮你从清理、编译、测试、打包、部署等到最终的产品

  5. 持续集成(CI) CI的前提是源码管理系统和构建系统,使用Maven会更加方便

参考:https://maven.apache.org/

参考:https://www.cnblogs.com/baizihua/p/11519509.html

参考:《Maven实战》这本书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值