Maven详解(一)------ Maven概述

 


1、引言

你能搜到这个教程,说明你对 Maven 感兴趣,但是又不是太理解。那么接下来这个系列的教程将会详细讲解 Maven 的用法,相信你看完之后,一定能对 Maven 的理解更进一步!

 

2、常规项目开发存在的问题

通常Web项目开发只会创建一个工程,然后所有的jar包都会存放到 WEB-INF/lib 目录下,如下图所示:

 

通过上面的目录结构我们可以分析出如下问题:

①、一个项目就是一个web工程。如果项目比较庞大,那么利用包名package来划分模块,显然容易造成混淆而且不利于分工合作;

②、项目中需要的 jar 包必须手动 复制,粘贴 到 WEB-INF/lib 目录下。这会导致每创建一个新的工程就需要将 jar 包重复复制到 lib 目录下,从而造成工作区存在大量重复的文件;

③、jar需要我们手动去官网上或者其他途径下载;

④、一个 jar 包依赖的其他 jar 包,需要自己手动加入到项目中,而且很有可能我们漏掉了某个依赖关系,导致项目运行报错。

   那么如何解决这些问题呢?本系列的主角 Maven 应运而生了。

3、什么是 Maven ?

Maven 读音是 [ˈmevən],也就是“霉文”,而不是读“马文”。它是一个项目管理和综合工具,Maven使用标准的目录结构和默认构建生命周期。提供了开发人员构建一个完整的生命周期框架,开发团队可以自动完成该项目的基础设施建设。相信如果对 Maven 没有任何了解的,看了这段话等于没看,不过没关系,后面我们将会逐渐揭开 Maven 的神秘面纱。什么是 Maven,你只需要知道这玩意能简化和标准化项目建设过程。

4、Maven 的历史

Maven的最初设计,以简化Jakarta Turbine项目的建设进程。有几个项目,每个项目包含了稍微不同的Ant构建文件。 JAR中检查到CVS。Apache组织开发的Maven可以建立多个项目,发布项目信息,项目部署。

5、Maven 的目标

Maven主要目标是提供开发人员

①、项目是可重复使用,易维护,更容易理解的一个综合模型。

②、插件或交互的工具,这种声明性的模式。

Maven项目的结构和内容是在一个XML文件中声明,pom.xml的项目对象模型(POM),这是整个Maven系统的基本单元。

6、Maven 的理念

约定优于配置!!!

开发人员不需要创建构建过程本身,不必知道提到的每一个配置的详细信息。Maven提供了合理的默认行为的项目。创建一个Maven项目时,Maven创建默认的项目结构。开发者只需要把相应的文件和她需要在pom.xml中定义即可。

 

那么如何使用 Maven 呢?请看下回分解。