maven是一个java平台下的的软件项目管理和综合工具,由Apache组织中开发维护,基于项目对象模型的概念,maven可以根据一个中心信息来管理项目的构建,文档和报告;
注意此处的项目管理不是某种工作岗位,而是描述程序员开发工作中的一部分;
1|1为何需要maven
在日常开发工作中,开发者需要自行管理项目依赖,频繁的编译,清理,测试,打包,发布等等.....虽然IDE都提供了相应的支持,但也免不了我们需要,花很多时间进行这些重复且没有技术含量的工作,我们将上述这些过程统称为项目构建
Maven的出现正是为了将开发者从繁杂的项目构建中解放出来
1|2Maven能做什么
-
Making the build process easy
使得构建项目过程变得更简单,Maven不会消除对底层机制的了解,没有太过高级的封装,但可以让你免受许多细节的影响
-
Providing a uniform build system
提供了统一的构建系统,Maven使用其项目对象模型(POM)和一组插件来构建项目,一旦熟悉了一个Maven项目,就知道所有Maven项目是如何构建的;
-
Providing quality project information
提供了项目质量信息,这些信息部分来自POM,部分来自项目源代码,如:项目使用的依赖项,单元测试报告(包括覆盖率),交叉引用等
-
Encouraging better development practices
鼓励更好的开发实践,Maven收集了当前的最佳开发实践,并轻松地朝该方向指导项目。例如:单元测试的规范化,将测试的执行和报告作为Maven的常规构建周期的一部分,Maven还建议了一些有关项目目录结构的准则,Maven还协助项目工作流程,例如发布和问题管理等