Maven 是什么?

它是一个项目管理工具,使用maven对java项目进行构建、依赖管理。

什么是项目构建?

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

传统项目的构建过程、

传统的使用Eclipse构建的项目的过程如下:
01Maven - Mave介绍_# Maven技术
构建过程如下:

  1. 在Eclipse中创建一个java web工程
  2. 在工程中编写源代码及配置文件等
  3. 对源代码进行编译,java文件编译成class文件
  4. 执行junit单元测试
  5. 将工程打成war包部署至tomcat运行
maven项目的构建过程

maven项目构建的过程进行标准化,每个阶段使用一个命令完成,下图展示了构建过程的一些阶段:
01Maven - Mave介绍_# Maven技术_02
上图中部分阶段对应命令如下:

  • 清理阶段对应maven的命令是clean,清理输出的class文件
  • 编译阶段对应maven的命令是compile,将java代码编译成class文件
  • 打包阶段对应maven的命令是package,java工程可以打包成jar,web可以打包成war

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

什么是依赖管理

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

传统项目的依赖管理

传统的项目工程要管理所依赖的jar包靠人工进行,网上下载再导入。
01Maven - Mave介绍_# Maven技术_03
手工拷贝jar包添加到工程的问题是:

  1. 没有对jar包进行版本的统一管理,容易导致版本冲突
  2. 从网上找jar包非常的不方便,有些jar包找不到
  3. jar包添加到工程导致工程过大

mave 项目的依赖管理

maven项目管理所依赖的jar包,只需要在pom.xml(maven中的配置文件)添加jar包的坐标,自动从maven仓库中下载jar包、运行,如下图:
01Maven - Mave介绍_# Maven技术_04

使用maven的好处

使用maven有以下好处:

  1. 一步构建:maven对项目构建的过程进行了标准化,通过一个命令即可完成构建过程。
  2. 依赖管理:maven工程不用手动导入jar包,通过pom.xml中定义坐标,从maven仓库中自动下载。
  3. maven的跨平台:可在window、linux上使用
  4. maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本