何为Maven?
Maven主要服务于Java平台的项目构建、依赖管理和项目信息管理。
注:构建是指日常编码过程中,编译、运行单元测试、生成文档、打包和部署等活动。
Maven的特点
Maven,作为一个强大的构建工具,有以下几个特点:
- 跨平台:无论在Windows,还是在Linux或者Mac上,都可以使用相同的指令来完成同样的任务。
- 最大化消除构建的重复:Maven分析了大量Java项目构建过程中重复出现的、必要的活动,并将其规范化、标准化,同时也提供了实现常用构建功能的Maven插件,满足了我们日常中常见的构建任务。
- 标准化构建过程:这一点是两面的,一是意味着我们需要熟悉Maven的构建过程,这增加了我们的学习成本;二则意味着我们一旦学会之后,放之四海而皆准。
更多
Maven还是依赖管理工具和项目信息管理工具,提供了中央仓库,帮我们管理构件。
在Maven中会涉及到如下几个名词:
- 坐标系统:这是Maven用来解决Java项目中包的版本不一致、版本冲突、依赖冗余等问题的基础。
- 项目信息管理:这部分提供了一个描述项目信息的标准化列表,如项目着眼解决的问题、项目的开发人员等。
- 中央仓库:这里是Maven为全世界Java开发师提供的免费“仓库”,在这里可以找到几乎所有流行的开源类库。
另外,Maven中还体现了一种软件开发过程管理的方法论,即“约定优于配置(Convention Over Configuration)”,例如,Maven对Java项目的项目目录结构、测试用例命名方式等都有既定的规则。
参考材料
Maven实战
这本书是我学习Maven的主要参考资料,内容详实全面,Maven的原理、使用方法和高级应用以及必不可少的实战都有涉及。另外,作者也是Maven在国内的早期布道者。力荐