相信很多测试人员对Maven这个词儿听说了很久,但是一直不清楚是什么鬼东西。在介绍Maven的定义之前,先来确定下Maven的念法,有的人叫麦文,有的人叫魅文,这里建议大家读(mei 第四声)wen(第三声)。为什么,我们要学习这个呢?没有接触Jenkins之前,也许你只知道在eclipse中有一个File-create a maven prioject,但是我们往往是创建一个Java项目,而对maven还是没有接触和了解过。Maven说白了就一个对项目的自动化构建和管理的一种软件,和ant类型的软件。
1.什么是Maven
以下摘自wikipedia关于Apache Maven的中文解释:
Apache Maven, 是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。
基于项目对象模型(POM)概念,Maven利用一个中央信息片段能够管理一个项目的构建,报告和文档等步骤。
上面提到了自动构建工具,一般来说,构建工具有以下功能:
1)编译源代码
2)拷贝资源
3)编译和运行测试脚本
4)项目打包
5)项目部署
7)清除
Maven的开发者想实现这样:
1)一种标准方式去构建项目
2)很清晰地定义这个项目的组成部分
3)一种简单的发布项目信息方式和一种在不同项目之间共享JARs文件
4)一中用来管理和构建Java项目的工具
这里提一下第三点,在不同项目之间共享JARs文件。记得之前JD电话面试,问过我,你们java项目JARs包项目如何管理的。由于我一直是一个人写Java eclipse项目,根本就不需要管理,直接把全部Jars放到一个项目根目录下的文件夹就好。现在才真正明白,那位JD的测试经理的目的。
2.什么是POM
是Maven用来描述项目的依赖、构建配置、构件的一个pom.xml文件。pom.xml文件一般包括以下内容:
1)项目的描述
2)名称,版本,源码路径,依赖关系
3)插件
4)构建配置简介
5)默认使用XML
3.Maven 目标
1)让构建过程简单
2)提供统一的构建系统
3)提供高质量的项目信息
4)提供最好的开发实战指导
5)集成新功能
总结:
以上都是纯文字和纯理论介绍,很没有意思。大家了解一下就可以,对maven有一个基本的印象就可以。上面有些事摘自wiki,有些是看着英文网站资料,自己翻译过来的。