1. Maven的基本概念
1.1. Maven出现前项目开发存在的问题
- 同样的代码,因为在不同的机器或者不同的环境下编译不成功
- 开发人员已经经过测试的代码, 测试和配置人员下载下来有问题
- 新加入的团队成员不知道系统开发所需要的具体环境
- 每次checkout项目的时候,随便都是几百M(大部分是jar包),头疼
- 切换新项目时,我们要重新加入所依赖的jar包,而且又要上传到代码服务器
- A项目组封装了一个好的组件(jar),推荐给其他项目组使用,当出现了错误,修正以后,每个项目组要重新替换
- 测试人员每次测试都需要手动checkout版本.
1.2. 什么是maven
Maven是基于项目对象模型(PROJECT OBJECT MODEL ->POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
开发人员主要掌握两个方面的知识:
- 项目构建
- 依赖管理
1.3. 什么是构建
在企业团队开发中 ,我们一般会将代码统一保存在代码服务器(VVS / CVS / SVN / GIT)中,每次我们都需要从代码服务器下载最新代码–>项目构建->应用。
如下图所示