Maven的介绍
什么是Maven
Maven是 Apache 下的一个纯 Java 开发的开源项目,基于项目对象模型(POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven本质上是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)。
用人话讲,Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包(pom.xml 文件中添加所需 jar 包的坐标),它会帮助我们下载所有的Jar,极大提升开发效率。
Maven的环境配置
Maven的配置过程与java的配置类似 右键 “计算机”,选择 “属性”,之后点击 “高级系统设置”,点击"环境变量",来设置环境变量,有以下系统变量需要配置:
新建系统变量 MAVEN_HOME
编辑系统变量 Path,添加变量值:;%MAVEN_HOME%\bin
Maven 仓库
Maven仓库用来存放Maven管理的所有Jar包。分为:本地仓库 和 中央仓库(私服)。
- 本地仓库:Maven本地的Jar包仓库。
- 远程仓库(中央仓库或私服):中央仓库: Maven官方提供的远程仓库,私服:组织或个人自己搭建的仓库服务器。
Maven坐标
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
- groupId:所需Jar包的项目名,通常是域名反写
- artifactId:所需Jar包的模块名
- version:所需Jar包的版本号
作用:
使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载工作交由机器完 成
Maven 依赖搜索顺序
当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:
步骤 1 - 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。 步骤 2 - 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中以备将来引用。 步骤 3 - 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。 步骤 4 - 在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库以备将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。
更换阿里云仓库
Maven 仓库默认在国外, 国内使用难免很慢,我们可以更换为阿里云的仓库。
修改 maven 根目录下的 conf 文件夹中的 settings.xml 文件,在 mirrors 节点上,添加内容如下:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
常见的Maven命令
- mvn clean:清理
- mvn compile:编译主程序
- mvn test-compile:编译测试程序
- mvn test:执行测试
- mvn package:打包
- mvn install:安装
- 执行maven命令必须进入到pom.xml的目录中进行执行
传递依赖 与 排除依赖
传递依赖:如果我们的项目引用了一个Jar包,而该Jar包又引用了其他Jar包,那么在默认情况下项目编译时,Maven会把直接引用和间接引用的Jar包都下载到本地。 排除依赖:如果我们只想下载直接引用的Jar包,那么需要在pom.xml中做如下配置:(将需要排除的Jar包的坐标写在中)
依赖冲突
若项目中多个Jar同时引用了相同的Jar时,会产生依赖冲突,但Maven采用了两种避免冲突的策略,因此在Maven中是不存在依赖冲突的。
IEDA中绑定Maven
打开File–new Projects Settings 配置 maven
|