【Maven 基础】
一、 Maven 简介
Apache Maven 是一个项目管理工具,它基于项目对象模型
(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。
Maven 是专门用于管理和构建 Java 项目的工具,它的主要功能:
- 提供了一套标准化的项目结构
- 提供了一套标准化的构建流程(编译,测试。打包,发布…)
- 提供了一套依赖管理机制
1. 标准的项目结构
- 不同的 IDE 之间,项目结构不一样,不通用
- Maven 提供了一套标准化的项目结构,所有的 IDE 使用 Maven 构建的项目结构完全一样,所有的 IDE 创建的 Maven 项目可以通用
2. 标准化的构建流程
- Maven 提供了一套简单的命令来完成项目构建
3. 依赖管理
- 依赖管理其实就是管理项目所依赖的第三方资源(jar 包、插件…)
4. Maven 模型
-
仓库分类:
- 本地仓库:自己计算机上的目录
- 中央仓库:由 Maven 团队维护的全球唯一的仓库:地址:中央仓库官方地址
- 远程仓库(私服):一般由公司团队搭建的私有仓库
-
当项目中使用坐标引入对应的 jar 包后,首先会查找本地仓库中是否有对应的 jar 包
- 如果有,则在项目直接引用
- 如果没有,则去中央仓库中下载对应的 jar 包到本地仓库
-
还可以搭建远程仓库,将来 jar 包的查找顺序则变为:本地仓库 → 远程仓库 → 中央仓库
二、 Maven 的安装配置
- 解压压缩包
apache-maven-3.6.1.rar
即安装完成- 配置环境变量
MAVEN_HOME
为安装路径的 bin 目录- 配置本地仓库:修改
conf/settings.xml
中的<localRepository>
为一个指定目录- 配置阿里云私服:修改
conf/settings.xml
中的<mirrors>
标签,为其添加如下子标签:
1. 配置环境变量
- 进入系统的高级系统设置,之后点击环境变量,在系统变量中新建并添加:
- 之后双击系统变量中的 Path目录,新建并添加
%MAVEN_HOME%\bin
- 检查是否安装配置完毕:使用 Windows + R 键,输入
cmd
,进入命令提示符,输入mvn -v
查看:
2. 配置本地仓库
可以修改 conf/settings.xml
中的 <localRepository>
为一个指定目录
3. 配置阿里云私服
修改 conf/settings.xml
中的 <mirrors>
标签,为其添加如下子标签:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
三、 Maven 的基本使用
1. Maven 常用命令
- compile :编译
- clean :清理
- test : 测试
- package :打包
- install :安装
执行命令会判断是否有所需的插件,如果没有,系统将自行下载到之前设置的 ......\mvn_resp
此文件夹中
2. Maven 生命周期
- Maven 构建项目生命周期描述的是一次构建过程中经历了多少个事件
- Maven 对项目构建的生命周期划分为3套
- clean :清理工作
- default :核心工作,例如编译、测试、打包、安装等
- site :产生报告,发布站点等
同一生命周期内,执行后边的命令,前边的所有命令会自动执行
四、 IDEA 配置
1. IDEA 配置 Maven 环境
- 选择 IDEA 中的 File → Settings
- 搜索 Maven
- 设置 IDEA 使用本地安装的 Maven,并修改配置文件路径
此处的本地仓库为自己新建的文件夹,建议修改为自己新建文件夹,在之前使用 Maven 常用命令中:编译、清理、测试、打包、安装等工作,需要的插件会直接下载到该文件夹
2. Maven 坐标详解
- 什么是坐标:
- Maven 中的坐标是资源的唯一标识
- 使用坐标来定义项目或引入项目中需要的依赖
- Maven 坐标的主要组成:
- groupId :定义当前 Maven 项目隶属组织名称(通常是域名反写,例如:com.xxxxxxx)
- artifactId :定义当前 Maven 项目名称(通常是模块名称,例如:order-service、goods-service)
- vision :定义当前项目版本号
3. IDEA 创建 Maven 项目
- 创建模块,选择 Maven,点击 Next
- 填写模块名称,坐标信息,点击 finish,创建完成
- 编写 HelloWorld,并运行
(1) 创建项目:
(2) 模块名称,坐标信息等:
(3) 创建成功示例:
(4) 容易出现的各种问题:
- 如果缺少 test 包下的 resources 文件,直接选中 test 右击,创建目录(directory)IDEA 自动提示,双击生成,之后需要右击该目录:将目录标记为资源根
- 创建新的项目之后,IDEA 很可能出现同步问题,控制台报错,大部分是由于 IDEA 和 Maven 的版本问题:Maven 版本不能高于 IDEA 版本,建议 Maven 使用较低版本
- 还有一种问题是由于在此前已经更改并配置 Maven 环境但是 IDEA 在创建新的项目之后没有响应,所以还需要手动再次在新项目中更改
原来更改的位置:
现在需要更改的位置:
然后重复进行配置 Maven 环境。
4. IDEA 导入 Maven 项目
- 选择右侧 Maven 面板,点击 + 号
- 选中对应项目的
pom.xml
文件,双击即可 - 如果没有 Maven 面板,请选择 View → Appearance → Tool Windows Bars
5. IDEA 配置 Maven Helper 插件
- 选择 IDEA 中 File → Settings
- 选择 Plugins
- 搜索 Maven,选择第一个 Maven Helper,点击下载
- 重启 IDEA
之后会出现以下两个选项:
五、 依赖管理
1. 导入 jar 包
(1) 使用坐标导入 jar 包
- 在 pom.xml 中编写
<dependencies>
标签 - 在
<dependencies>
标签中使用<dependency>
引入坐标 - 定义坐标的 groupId 、artifactId 、version
- 点击刷新按钮,使坐标生效
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
(2) 配置自动生效
- 选择 IDEA 中 File → Settings
- 在弹出的面板中找到 Build Tools
- 选择 Any changes,点击 ok 即可生效
(3) 快捷方式
- 在 pom.xml 中按 Alt + Insert,选择 Dependency
- 在弹出的面板中搜索对应坐标,然后双击选中对应的坐标
- 点击刷新按钮,使坐标生效
2. 依赖范围
- 通过设置坐标的依赖范围,可以设置对应的 jar 包的作用范围:编译环境,测试环境,运行环境
<scope>
默认值:compile
类似于以下这种写法: