- 学习目标
- ✅ Maven 简介(重点)
- ✅ Maven 安装(操作)
- ✅ Idea 集成 Maven(操作)
- ✅ 创建 Maven 工程(重点)
- ✅ 生命周期(重点)
- ✅ 依赖管理(重点)
- ❗ 拆分与聚合(难点)
- ℹ️ 私服(了解)
前言
在 Java 开发中,项目构建和依赖管理是核心环节。传统的项目构建方式需要手动管理大量 Jar 包,效率低下且易出错。Maven 作为 Apache 旗下的开源项目管理工具,能一站式解决依赖管理和项目构建问题,是 Java 开发者必备的核心技能。本文从基础到进阶,全面讲解 Maven 的使用,涵盖安装、集成、生命周期、依赖管理、工程拆分聚合及私服等核心知识点。
1. Maven 简介
1.1 为什么要使用 Maven?
传统 Web 项目构建方式
传统项目中使用 Jar 包,需要手动复制到项目的lib目录,存在以下问题:
- Jar 包重复冗余,占用存储空间
- 版本不一致易引发兼容性问题
- 手动管理繁琐,效率低下

Maven 构建方式
Maven 项目中无本地 Jar 包,通过统一的依赖配置管理 Jar 包,优势如下:
- 统一管理 Jar 包版本,避免冲突
- 自动下载依赖,无需手动复制
- 标准化项目构建流程(编译、测试、打包、部署)

1.2 Maven 是什么?
Maven [ˈmeɪvn] 是 Apache 开源的项目管理工具,核心两大功能:
- 依赖管理:对 Jar 包进行统一的版本、依赖关系管理
- 项目管理:自动化完成项目编译、测试、打包、部署等全流程

1.3 Maven 的基本概念
1.3.1 仓库
Maven 的仓库用于存储 Jar 包、插件等构件,分为三类:
| 仓库类型 | 说明 |
|---|---|
| 本地仓库 | 本地电脑存储 Jar 包的目录,默认路径:${user.home}/.m2/repository |
| 私服 | 企业内部搭建的私有仓库,供团队共享依赖 |
| 中央仓库 | Maven 官方维护的公共仓库,包含几乎所有开源 Jar 包 |

1.3.2 坐标
坐标是 Maven 定位 Jar 包的唯一标识,通过 3 个核心维度确定 Jar 包位置:
groupId:公司 / 组织标识(如org.mybatis)artifactId:项目标识(如mybatis)version:版本号(如3.4.5)
示例(MyBatis 依赖坐标):
java
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
2. Maven 安装
2.1 下载
官网地址:http://maven.apache.org/选择对应系统的压缩包(建议下载 3.6.x 版本,兼容性更好)。
2.2 解压
将下载的压缩包解压到无中文、无空格的路径下,解压后目录结构:
bin:脚本命令(如 mvn.cmd)boot:Maven 引导程序(类加载器等)conf:配置文件(核心:settings.xml)lib:Maven 运行依赖的 Jar 包

2.3 配置环境变量
Maven 基于 Java 开发,需先安装 JDK 并配置环境变量,再配置 Maven:
步骤 1:配置 MAVEN_HOME
- 新建系统环境变量
MAVEN_HOME,值为 Maven 解压根路径(如D:\apache-maven-3.6.3)

步骤 2:配置 Path
- 在系统环境变量
Path中添加:%MAVEN_HOME%\bin

步骤 3:验证安装
打开 CMD 命令行,执行:
mvn --version
若输出 Maven 版本、JDK 版本等信息,说明安装成功。

2.4 配置阿里云镜像仓库
Maven 中央仓库在国外,下载速度慢,需配置阿里云镜像加速:
编辑conf/settings.xml,在<mirrors>标签内添加:
java
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
2.5 配置本地仓库路径
默认本地仓库在 C 盘,建议修改到其他盘符:
编辑conf/settings.xml,找到<localRepository>标签,修改为自定义路径:
java
<!-- 注释默认路径,添加自定义路径 -->
<localRepository>D:\mvn_repository</localRepository>
3. IDEA 集成 Maven
3.1 配置 Maven
打开 IDEA,进入设置:File | Settings | Build, Execution, Deployment | Build Tools | Maven
Maven home path:选择 Maven 解压根路径User settings file:选择conf/settings.xml(勾选 Override)Local repository:自动同步 settings.xml 中的配置

3.2 设置自动导入依赖
默认情况下,修改pom.xml后需手动刷新依赖,配置自动导入可提升效率:
步骤 1:打开自动重载设置(可能导致卡顿)
点击 IDEA 中Auto-Reload Settings...(或在设置中搜索Auto Import)

步骤 2:勾选自动重载
选择Any changes(检测到 pom.xml 变动时自动导入依赖)

4. 创建 Maven 工程
4.1 新建 Maven 工程
步骤 1:选择 Maven 模板
- 打开 IDEA → 新建 Project → 选择 Maven → 不勾选模板(纯 Java 项目)

步骤 2:配置工程信息
GroupId:公司标识(如com.hg)ArtifactId:工程名(如maven-demo)Version:版本号(默认1.0-SNAPSHOT)

步骤 3:选择工程存储路径
确认路径无中文、无空格,完成创建。

4.2 Maven 工程目录结构
标准 Maven 工程目录如下:
java
src
├── main
│ ├── java # 主程序Java源码
│ └── resources # 配置文件(如mybatis-config.xml)
└── test
├── java # 测试程序Java源码
└── resources # 测试配置文件
pom.xml # Maven核心配置文件

4.3 添加依赖(以 JUnit 为例)
步骤 1:查找依赖坐标
打开Maven 仓库官网,搜索JUnit,选择对应版本(如 4.12),复制坐标。
步骤 2:配置 pom.xml
在<dependencies>标签内添加:
java
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
步骤 3:编写测试类验证
java
import org.junit.Test;
public class DemoTest {
@Test
public void test(){
System.out.println("hello,maven!");
}
}
运行测试方法,控制台输出内容说明依赖导入成功。
5. Maven 生命周期
5.1 常用命令
Maven 命令需在pom.xml同级目录执行,核心命令如下:
| 命令 | 说明 |
|---|---|
| mvn clean | 清理项目,删除 target 目录 |
| mvn compile | 编译 main 目录下的 Java 文件为 class 文件 |
| mvn test | 执行 test 目录下的测试代码 |
| mvn package | 将项目打包(Jar/War)到 target 目录 |
| mvn install | 打包并安装到本地仓库 |
| mvn deploy | 打包并部署到远程仓库(私服) |
5.2 三套生命周期
Maven 包含三套相互独立的生命周期,执行后续命令时,前置命令会自动执行:
- 清理生命周期 :
clean(清理项目) - 默认生命周期 :
compile → test → package → install → deploy(核心构建流程) - 站点生命周期 :
site(生成项目文档站点)
未完待续......
如果本文对你有帮助,欢迎点赞、收藏、关注~
