一、Maven的详解
What is Maven?
Maven是一个项目管理工具,它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期中插件目标的逻辑。Maven的核心功能合理叙述项目间的依赖关系。
如今,我们在构建一个Java的Web项目时,就要导入大量的jar包。一个项目的jar包数量就很多很多,而且每个jar包之间的关系就错综复杂,每一个jar包又不能缺少,一旦缺少一个jar包就会导致整个项目无法编译成功。因此,在开发项目的过程中,若是通过程序员手动的方式引入jar包,就会导致程序员在引入jar包这一块配置中就耗费大量的精力和时间,使得整个开发效率变低。
而Maven的出现大大方便了程序员构建项目,程序员只需要在Maven中的pom.xml配置文件中,告诉它要导入哪儿些jar包,Maven就会自动帮助我们下载并导入所有需要的jar包,大大提高了开发项目的效率。
Maven生命周期
- Maven构建项目生命周期的描述是一次构建过程经历了多少个事件
- Maven对项目创建的生命周期划分为3套
- -->clean:清理工作
- -->default:核心工作,例如编译,测试,打包,安装等
- -->site:产生报告,发布站点等
同一套生命周期内,执行后边的命令,前边的所有命令会自动执行。
Maven的目录结构
main文件夹:
java:存放项目的源代码
resources:存放项目资源文件
test文件夹:
java:存放单元测试源代码
resources:存放单元测试资源文件
target文件夹:存放打包产生后的文件
pom.xml:maven项目中的配置文件
Maven的常用命令
1、mvn -v
用于查看maven是否安装成功,并且可以查看maven的版本号信息。
2、mvn install
将项目安装到本地的仓库中,提供给别的项目使用。
3、mvn clean
发现在安装过程中出问题时,可以利用这个命令先清除干净,再进行重新安装。若项目已经经过打包处理,会清理掉target文件夹。
4、mvn compile
进行编译,将java源文件编译成class文件
5、mvn test
执行test目录下的测试案例
6、mvn package
将项目打包成一个jar包,方便使用,并且生成target目录。打包的过程中,就相当于将前面的编译测试都执行力一遍。
7、mvn run
启动服务
Maven仓库
Maven的仓库用来存放Maven管理的jar包,又分为本地仓库,中央仓库和远程仓库。
- 本地仓库:存放Maven本地管理的一些jar包。
- 中央仓库:由Maven团队维护的全球唯一的仓库,地址为:https://repo1.maven.org/maven2/
- 远程仓库:又称私服。一般由公司团队搭建的私有仓库。
一般先将中央仓库中存放的jar包下载导入到本地仓库中,这样子可以在用到本地仓库中提供的jar包时,导入速度快,效率高。
当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包。如果有,则在项目中直接引用;如果没有,则去中央仓库下载对应的jar包到本地仓库。还可以搭建远程仓库。jar包的查找顺序为:本地仓库->远程仓库->中央仓库
Maven的坐标
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
每个jar包在Maven都有它独一无二的坐标,Maven仓库通过坐标找到对应的jar包。如上述代码,就是mysql的jar包对应的一个坐标。
- groupId:jar包的项目名称
- artifactId:jar包的模块名
- version:jar包的版本号
Maven坐标的依赖范围
- 通过设置坐标的依赖范围(scope),可以设置对应jar包的作用
- 范围分为3个:编译环境、测试环境
-
<scope>test</scope>
- <scope> 默认值:compile
二、Maven的配置与安装
1、安装本地的Maven
选择你需要的maven版本下载:Maven – Download Apache Maven
二、下载安装
把下载好的Maven压缩包解压到一个不含中文,空格或者特殊字符的文件夹中。
三、配置环境变量
1.在系统变量中新建MAVEN_HOME,变量值为Maven安装的目录
2.编辑系统变量Path路径,添加%MAVEN_HOME%\bin
3.验证是否成功安装,win+R打开cmd,输入mvn -v命令,若出现详细信息,则maven安装成功。
四、配置settings文件
1.在Maven安装路径中找到conf目录下的settings.xml的配置文件
2.把配置文件中的本地仓库路径修改到D盘Maven目录下的mvn_resp(默认在C盘)
3.在Maven安装目录下新建本地仓库文件夹mvn_resp
4.配置私服。将中央仓库改为国内的服务器,提高下载jar包的速率(一般用阿里云的镜像库)
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
在配置文件中添加镜像文件
五、编译器的配置(此处以IDEA为例)
修改maven安装的版本,setting配置文件的地址和本地仓库的地址