maven快速入门第一讲——你得知道maven是个啥?

maven是什么?

maven可以翻译为"专家"或者"内行",maven是Apache下的一个纯Java开发的开源项目,它是一个项目管理工具(即用来管理Java项目),使用maven可以对Java项目进行构建、依赖管理。当前使用maven的项目正在持续增长。

项目开发中的问题及解决方案

在这里插入图片描述

使用maven带来的好处

依赖管理

什么是依赖管理?

什么是依赖呢?一个Java项目可能要使用一些第三方的jar包才可以运行,那么我们说这个Java项目依赖了这些第三方的jar包。举个例子:一个crm系统(客户关系管理系统),它的架构是SSH框架,该crm项目要依赖于SSH框架,具体它依赖的是Hibernate、Spring以及Struts2。那什么又是依赖管理呢?就是对项目所有依赖的jar包进行规范化管理。

传统项目的依赖管理

传统的项目工程要管理所依赖的jar包完全靠人工进行,程序员从网上下载jar包添加到项目工程中,如下图所示,程序员手工将Hibernate、Struts2以及Spring的jar包添加到工程中的WEB-INF/lib目录下。
在这里插入图片描述
手工拷贝jar包并添加到工程中所带来的一些问题如下:

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

maven项目的依赖管理

maven项目管理所依赖的jar包不需要手动向工程添加jar包,只需要在pom.xml(maven工程的配置文件)添加jar包的坐标即可,这样就会自动从maven仓库中下载jar包了,最后就能运行了,如下图所示。
在这里插入图片描述
maven项目的依赖管理说白了,其实就是对jar包的管理并给出坐标的过程。
在这里插入图片描述
使用maven依赖管理添加jar包有如下好处:

  1. 通过pom.xml文件对jar包的版本进行统一管理,可避免版本冲突;
  2. maven团队维护了一个非常全的maven仓库,里边包括了当前使用的jar包,maven工程可以自动从maven仓库下载jar包,非常方便。

项目一键构建

什么是项目构建?

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

传统项目构建过程

传统的使用eclipse构建项目的过程如下图所示。
在这里插入图片描述
构建过程如下:

  • 1)在eclipse中创建一个Java web工程
  • 2)在工程中编写源代码及配置文件等
  • 3)对源代码进行编译,java文件编译成class文件
  • 4)执行Junit单元测试
  • 5)将工程打成war包部署至Tomcat服务器中运行

maven项目构建过程

maven将项目构建的过程进行了标准化,每个阶段使用一个命令来完成,下图展示了构建过程的一些阶段,后续我会详细介绍每个阶段,这里先大概了解下。
在这里插入图片描述
上图中部分阶段对应的命令如下图所示。
在这里插入图片描述
maven项目的一键构建说白了,其实就是一个mvn tomcat:run命令就能把项目运行起来。maven工程构建的优点有以下两点:

  1. 一个命令完成构建、运行,方便快捷;
  2. maven对每个构建阶段进行规范,非常有利于大型团队协作开发。

可以跨平台

maven的跨平台,即它可以在Window或者Linux上使用。

应用于大型项目,可以提高开发效率

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