1.Maven介绍
1.1 Maven是什么
Maven翻译为“专家”,“内行”。Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用maven对java项目进行构建、依赖管理。当前使用Maven的项目在持续增长。
1.2 什么是项目构建
指的是项目从 编译—测试—运行—打包—部署—运行 整个过程都交给maven运行管理,这个过程称之为构建。
1.2.1 传统项目构建过程
- 在eclipse中创建一个Java Web工程
- 在工程中编写源代码及配置文件
- 对源代码进行编译,java文件编译成class文件
- 执行junit单元测试
- 把工程打包成war包部署之tomcat运行
1.2.2 Maven项目构建过程
Maven将项目构建过程进行标准化,每个阶段使用一个命令完成,下图展示了构建过程的一些阶段:
1.3 什么是依赖管理
什么是依赖? 比如Java项目可能要使用的一些第三方jar包才可以
运行,那我们可以说这个java项目依赖了这些第三方jar包。
什么是依赖管理?就是对项目所有依赖的jar进行规范化管理。就是对jar包的管理,并给出坐标的过程。
1.3.1 传统的项目依赖管理
传统项目工程要管理所依赖的jar包完全靠人工进行,程序员从网上下载jar包添加到项目工程目录中,如图:程序员手工将Hibernate、struts2、spring的jar添加到工程WEB-INF/lib目录下:
手工拷贝jar到工程产生的问题:
- 没有对jar包的版本统一管理,容易导致版本冲突
- 从网上找jar包非常不方便,有些jar找不到
- jar包添加到工程中导致工程过大
1.3.2 Maven 项目依赖管理
Maven项目管理所依赖的jar不需要手动copy到工程目录下,只需要在pom.xml(maven工程配置文件)添加jar包的坐标。自动从maven仓库中下载jar包、运行。如图:
1.3.2.1 maven 是如何找jar包的?
坐标:将来查找某个jar包,需要确定jar包的坐标
作为一个jar包,它是如何给出坐标的?
什么项目?apache组织的struts2开源项目。那个版本?(2.3.24)
groupId: 用包名来表示,表示项目是由那个组织开发的,
artifactId: 项目的名称
version:jar的版本号
有了这些内容,相当于把原先杂乱无比的jar包分门别类,订好归属,方便管理
项目中只要给出坐标,就会去maven仓库取jar包
由于索引的存在,导致取jar包的过程,可以认为项目中就有
1.3.2.2 使用maven的好处
- 通过pom.xml文件对jar包进行统一管理,避免版本冲突
- maven团队维护了一个非常全的maven仓库,里面包括了当前使用的jar包,maven工程可以自动从maven仓库下载jar包,非常方便。
- 一步构建: maven对项目构建的过程标准化,通过一个命令即可完成项目构建过程。
- maven跨平台,可以在windows、linux上使用
- maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本。
1.3.2.3 mave在查找jar时遵循什么样的顺序?
1.优先在本地仓库找
2.本地仓库找不到,从私服上查找,找到后下载到本地仓库
3.私服上找不到,则从中央仓库找,找到后下载到私服,最后下载到本地仓库
最终maven都会把jar下载到本地仓库,maven工程再引用本地仓库jar包
1.4 Maven安装
1.4.1 下载安装
官网下载:http://maven.apache.org/download.cgi 下载maven3.3.9版本
百度云链接:https://pan.baidu.com/s/1FGvSUtCEmunlpUX8aVInwQ
提取码:wuv6
解压:把下载的压缩包解压到一个不含中文和空格的目录中。
1.4.2 环境变量配置
电脑需要安装java环境,并且配置好java环境变量。java安装和环境变量配置百度教程地址:https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
maven环境变量配置: 我的电脑–》右键–》属性 --》高级系统设置 --》 环境变量
配置好环境变量后,使用 win + r 输入cmd 弹出cmd命令行输入框:mvn -v