一.前言
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
二.Maven是干嘛的?
- 在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差jar包?
- 每个Java项目的目录结构都没有一个统一的标准,配置文件到处都是,单元测试代码到底应该放在那里也没有一个权威的规范。
- 因此,我们就要用到Maven(使用Ant也可以,不过编写Ant的xml脚本比较麻烦)----一个项目管理工具。
- Maven主要做了两件事:
- 统一开发规范与工具
- 统一管理jar包
下面我们来对比一下,首先建立一个普通的Java工程,是这样的:
这个我们都很熟悉,src下建包写代码,那么配置文件放在哪里?单元测试代码放在哪里?没有一个统一标准,更多时候都是开发者的自由发挥,每个人有自己的风格,这并不十分适合团队协作。接下来,看一下使用maven构建一个普通Java项目之后的目录结构:
看到使用Maven构建的普通Java项目,对源代码、单元测试代码、资源乃至后续需要的文件都有专门的目录规划。
上面的最后有一个pom.xml,这是Maven的核心配置文件,pom称为Project Object Model(项目对象模型),它用于描述整个Maven项目,所以也称为Maven描述文件。
当然事情不会这么简单,接下来,继续进入Maven的世界吧。
pom.xml
打开pom.xml,最基础的是这样的: