Maven介绍

一、Maven介绍

1. maven是什么

maven翻译为“专家”,“内行”。Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用maven对java项目进行构建、依赖管理。当前使用Maven的项目在持续增长。

2什么是项目构建

项目构建是一个项目从编写源代码到编译、测试、运行、打包、部署、运行的过程.

二、传统项目构建过程

传统的使用eclipse构建项目的过程如下:

Maven介绍

构建过程如下:

(1)在eclipse中创建一个java web工程

(2)在工程中编写源代码及配置文件等

(3)对源代码进行编译,java文件编译成class文件

(4)执行Junit单元测试

(5)将工程打成war包部署至tomcat运行

三、Maven项目构建过程

maven将项目构建的过程进行标准化,每个阶段使用一个命令完成,下图展示了构建过程的一些阶段,后面章节详细介绍每个阶段,这里先大概了解下:

Maven介绍

上图中部分阶段对应命令如下:

清理阶段对应maven的命令是clean,清理输出的class文件

编译阶段对应maven的命令是compile,将java代码编译成class文件。

打包阶段对应maven的命令是package,java工程可以打成jar包,web包可以打成war包。

运行一个maven工程(web工程)需要一个命令:tomat:run

maven工程构建的优点:

1、一个命令完成构建、运行,方便快捷。

2、maven对每个构建阶段进行规范,非常有利于大型团队协作开发。

四、什么是依赖管理

什么是依赖?一个java项目可能要使用一些第三方的jar包才可以运行,那么我们说这个java项目依赖了这些第三方的jar包。

举个例子:一个crm系统,它的架构是SSH框架,该crm项目依赖SSH框架,具体它依赖的Hibernate、Spring、Struts2。

什么是依赖管理?就是对项目所有依赖的jar包进行规范化管理。

1. 传统项目的依赖管理

传统的项目工程要管理所依赖的jar包完全靠人工进行,程序员从网上下载jar包添加到项目工程中,如下图:程序员手工将Hibernate、struts2、spring的jar添加到工程中的WEB-INF/lib目录下。

Maven介绍

手工拷贝jar包添加到工程中的问题是:

(1)没有对jar包的版本统一管理,容易导致版本冲突。

(2)从网上找jar包非常不方便,有些jar找不到。

(3)jar包添加到工程中导致工程过大。

四、Maven项目的依赖管理

maven项目管理所依赖的jar包不需要手动向工程添加jar包,只需要在pom.xml(maven工程的配置文件)添加jar包的坐标,自动从maven仓库中下载jar包、运行,如下图:

Maven介绍

使用maven依赖管理添加jar的好处:

(1)通过pom.xml文件对jar包的版本进行统一管理,可避免版本冲突。

(2)maven团队维护了一个非常全的maven仓库,里边包括了当前使用的jar包,maven工程可以自动从maven仓库下载jar包,非常方便。

五、使用Maven的好处

通过上边介绍传统项目和maven项目在项目构建及依赖管理方面的区域,maven有如下的好处:

1、一步构建

maven对项目构建的过程进行标准化,通过一个命令即可完成构建过程。

2、依赖管理

maven工程不用手动导jar包,通过在pom.xml中定义坐标从maven仓库自动下载,方便且不易出错。

3、maven的跨平台,可在window、linux上使用。

4、maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,大公司都会考虑使用maven来构建项目。