Maven是一款跨平台的项目管理工具,作为Apache组织中的一个颇为成功的开源项目,Maven主要是服务于基于Java平台的项目构建、依赖管理和项目信息管理。无论是小型的开源类库项目,还是大型的企业级应用:无论是传统的瀑布式开发,还是流行的敏捷模式,Maven都能大显身手。
Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。它最早是用来构造Tomcat的,创作Ant的动机就是受不了Makefile的语法格式,我们可以将Ant看作一个Java版本的Make,也正因为使用了Java,Ant是跨平台的。
Maven和Ant针对构建问题的两个不同方面。Ant为Java技术开发项目提供跨平台构建任务。Maven本身描述项目的高级方面,它从Ant借用了绝大多数构建任务。因此,由于Maven和Ant代表两个差异很大的工具,所以接下来只说明这两个工具的等同组件之间的区别。
Maven希望把软件开发中的一些最佳实践和模式都整合和固化下来,这样使用Maven来进行开发时,开发过程更爽,生产出来的软件更棒,具有以上所罗列的各种特性。
这几种特性对于一个团队一起高效的开发协作的确是非常重要的。Maven最初的诞生就是希望Apache的一些项目能够以相同的方式来开发和构建,这样一个开发者从一个项目转到另外一个项目工作的时候能够更加轻松地切换。因为项目的开发、测试、文档生成、报表和部署,都具有一些共同的特征,这些特征就可以认为是软件开发过程中的一些最佳实践,当这些最佳实践成为共识,开发的协作必然会更加高效。
1.简单。Maven暴露了一组一致、简洁的操作接口,能帮助团队成员从原来的高度自定义的、复杂的构建系统中解脱出来,使用Maven现有的成熟的、稳定的组件也能简化构建系统的复杂程度。
2.交流与反馈。与版本系统结合后,所有人都能执行最新的构建并快速得到反馈。此外,自动生成的项目报告也能帮助成员了解项目的项目的状态,促进团队的交流。
3.测试驱动开发。测试驱动开发强调测试先行,所有产品都应该由测试用例覆盖。而测试是Maven生命周期的最重要的组成部分之一,并且Maven有现成的成熟插件支持业界流行的测试框架。
4.十分钟构建。十分钟构建强调我们能够随时快速地从源码构建出最终的产品。这正是Maven所擅长的,只需要一些配置,之后用一条简单命令就能让Maven帮你清理,编译,测试,打包,部署,然后得到最终产品。
5.持续集成。持续集成强调项目以很短的周期集成最新的代码。实际上,持续集成的前提是源码管理系统和构建系统。使用Maven后,持续集成会变得更加方便。
-----------------------------------------------------------------------------------------------------------------------
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !IT修真院:http://www.jnshu.com/login/1/13516932