Maven学习笔记(一)什么是Maven?


什么是Maven?

Maven是跨平台的项目管理工具。是Apache组织中的一个颇为成功的开源项目。

Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。

1.       Maven是优秀的构建工具

Maven抽象了一个完整的构建生命周期模型,这个模型吸取了大量其它构建脚本和构建工具的优点,总结了大量项目的实际需求。遵循这个模型,可以避免很多不必要的错误,可以直接使用大量成熟的Maven插件来完成我们的任务。

Maven还有一个优点,它可以帮助我们标准化构建过程。所有项目的构建命令都是简单一致的,这极大地避免了不必要的学习成本,而且有利于促进项目团队的标准化。

Maven作为一个构建工具,不仅能自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供一致的操作接口。

2.       Maven是依赖管理工具和项目信息管理工具

Maven提供了一个优秀的解决方案来解决项目依赖的问题,通过一个坐标系统,准确地定位每一个构件(artifact),通过一组坐标Maven能够找到任何一个Java类库。

Maven可以方便的管理分散在项目中各个角落的项目信息,包括项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等。

Maven提供了一个免费的中央仓库,可以轻易的在里面找到任何流行的开源类库,对项目的初期组件提供了非常大的便利。只要定位了坐标,Maven就能够自动下载,省却了去各个项目首页搜寻类库的麻烦。

Maven对于项目目录的结构、测试用例命名方式等内容都有既定的规则,遵循了这些规则在项目切换的时候就免去了额外的学习成本,可以说是约定优于配置。

3.       Maven与极限编程

极限编程(XP)是目前较为流行的敏捷开发方法,它强调拥抱变化。通过使用Maven,可以帮助XP团队实现一些XP的核心价值。

a.       简单

Maven暴露了一组一致、简洁的操作接口,能够简化构建系统的复杂度。

b.      交流与反馈

与版本控制系统结合后,所有开发人员都能够执行最新的构建并快速得到反馈。

c.       测试驱动开发(TDD)

TDD强调测试先行,所有产品都应该由测试用例覆盖。测试是Maven生命周期的最重要的组成部分之一,并且Mavan能够很好的支持业界流行的测试框架,如Junit和TestNG

d.      十分钟构建

十分钟构建强调我们能够随时快速地从源码构建出最终的产品,对于Maven来说,只需要一些配置,一条简单的命令就可以轻松的得到最终的产品。

e.       持续集成(CI)

CI强调项目以很短的周期(如15分钟)集成最新的代码。实际上,CI的前提是源码管理系统和构建系统。目前业界流行的CI服务器如Hudson和CruiseControl都能很好地和Maven进行集成。

f.       富有信息的工作区

这条实践强调开发者能够快速方便地了解到项目的最新状态。使用Maven发布的项目报告站点,并配置需要的项目报告,如测试覆盖率报告,能够把消息推送到开发人员眼前。

 

总结:

            对于目前来说,虽然Maven有着这样或者那样的Bug或者某一方面的不完善,但是依然是目前最方便,最流行,最好用的项目管理工具。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值