(一) Maven 概述
[1]. 简介
-
Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
-
官网:http://maven.apache.org/
-
Maven是专门用于管理和构建Java项目的工具,它的主要功能有:
- 提供了一套标准化的项目结构:Maven提供了一套标准化的项目结构,所有IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用
- 提供了一套标准化的构建流程:编译》测试》打包》发布
- 提供了一套依赖管理机制:依赖管理其实就是管理你项目所依赖的第三方资源 (jar包、插件…)
- 提供了一套标准化的项目结构:Maven提供了一套标准化的项目结构,所有IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用
[2]. Maven 仓库
- Maven 中的所需的依赖,可以从三个地方获取:
- 本地仓库:自己计算机上的一个目录
- 中央仓库:由Maven团队维护的全球唯一的仓库,https://repo1.maven.org/maven2/
- 远程仓库(私服):一般由公司团队搭建的私有仓库(非必要)
- jar包的查找顺序:本地仓库 》 远程仓库(非必要) 》 中央仓库
- 当本地仓库没有自己需要的 jar 包,从远程仓库或中央仓库下载之后会先放到本地仓库中。
(二) Maven 安装配置
-
下载 maven: https://maven.apache.org/download.cgi
-
解压 apache-maven-3.9.6-bin.zip 放到方便找到的位置,既安装完成
-
配置环境变量 MAVEN_HOME 为 Maven 的放置目录,然后点击确定,然后在 环境变量窗口的 path 中将 Maven 添加到环境变量中,然后依次点击各个窗口的确定按钮。
-
在 cmd 窗口中输入
mvn -verson
,出现如下信息表示配置成功
-
配置本地仓库:修改 conf/settings.xml 中的
<localRepository>
为一个指定目录,如果不配置这个文件,Maven 的默认仓库地址为:C:\Users(或者叫 “用户”)\ 自己的计算机名字.m2\repository
-
(非必要)配置阿里云私服:修改 conf/settings.xml 中的 标签,为其添加如下子标签:
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
(三) Maven 基本使用
[1]. Maven 常用命令
- compile :编译
- clean:清理
- test:测试
- package:打包
- install:安装
[2]. Maven 生命周期
- Maven 构建项目生命周期描述的是一次构建过程经历经历了多少个事件
- Maven 对项目构建的生命周期划分为3套
- clean:清理工作
- default:核心工作,例如编译,测试,打包,安装等
- site:产生报告,发布站点等
- 同一生命周期内,执行后边的命令,前边的所有命令会自动执行
(四) IDEA 配置 Maven
[1]. IDEA 配置 Maven 环境
-
使用 IEDEA 创建一个空项目
-
选择 IDEA中 File --> Settings
-
搜索 maven ,设置 IDEA 使用本地安装的 Maven,并修改配置文件路径
-
Maven配置完成
[2]. Maven 坐标详情
- 什么是坐标?
- Maven 中的坐标是资源的唯一标识
- 使用坐标来定义项目或引入项目中需要的依赖
- Maven 坐标主要组成
- groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.alibaba)
- artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
- version:定义当前项目版本号
[3]. IDEA 创建 Maven 项目
- 创建一个空项目
- 创建模块,选择
file->Project Structure
,然后选择Modules->New Module
,然后选择选择Maven创建即可
- 在
maven-demo/src/main/java
文件夹下编写 HelloWorld.java 文件,并运行
(五) 依赖管理
[1]. 使用坐标导入 jar 包
比如我想在 maven-demo
项目中引入 mysql 的 jar 包,找到 maven-demo
目录下的 pom.xml 文件
- 如果之前使用过 mysql 的 jar 包,当在 pom.xml 文件中输入如图的结构,当在<group>标签中输入mysql 字段,将会自动填写<artifactId>标签和<version>标签的内容。然后点击右上角的刷新按钮,将会下载 jar 包
- 如果之前没有使用给 jar 包,可以在
https://mvnrepository.com/
网站找到,在这个网站中搜索mysql
,点击如图所示的位置。
3. 点击你想用的 jar 包版本,点击将进入另一个页面
4. 在新进入的页面中下滑页面,找到如图所示,将其粘到 pom.xml 文件中,然后点击右上角的刷新按钮将会下载对应的jar包
5. jar 包下载成功后,将在Maven中显示出来
[2]. 使用坐标导入 jar 包 – 自动导入
-
选择 IDEA中 File --> Settings
-
在弹出的面板中找到 Build Tools
-
选择 Any changes,点击 ok 即可生效
-
以后在pom.xml文件中输入坐标后将自动导入对应的jar包
[3]. 使用坐标导入 jar 包 - 快捷方式
-
如果导入的jar 包是本地仓库有的,可以在 pom.xml 文件中 按
alt + insert
,选择Dependency
-
在弹出的面板中搜索对应坐标,然后双击选中对应坐标
-
点击刷新按钮,使坐标生效,如果配置过自动导入就不用刷新了
[4]. 依赖范围
- 通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境
- 默认值:compile