下面是一份2026 年视角下 从零开始学会使用 Maven + Spring Boot 项目 的最实用、最快上手指南。
目标:1–2 小时 内搞懂 Maven 核心概念,并能独立创建/运行一个 Spring Boot 项目。
第一部分:Maven 到底是什么?为什么必须先学它?
Maven 是 Java 生态里最主流的构建工具 + 依赖管理工具(2026 年使用率仍超过 70%)。
它帮你解决三大痛点:
- 依赖管理:不用手动下载 jar 包,写个坐标就能自动下载 + 管理版本冲突
- 项目构建:一键编译、测试、打包(jar/war)、生成可执行文件
- 项目标准化:目录结构、生命周期、插件体系统一,几乎所有公司都用 Maven 结构
对比 Gradle(2026 年新兴趋势):
| 项目 | Maven | Gradle | 2026 年推荐场景 |
|---|---|---|---|
| 配置文件 | pom.xml(XML) | build.gradle(Groovy/Kotlin) | Maven 更稳,Gradle 更灵活 |
| 学习曲线 | 低 | 中 | 新手首选 Maven |
| 速度 | 中等 | 更快(增量构建、缓存强) | 中大型项目 Gradle 更香 |
| 生态 | 极其丰富 | 很好,但部分老插件不支持 | 公司内部项目 80%+ 仍用 Maven |
结论:新手/面试/大多数公司项目 → 先精通 Maven,后面再学 Gradle 很容易迁移。
第二部分:Maven 核心概念(背会这 8 个就入门)
| 概念 | 解释(最通俗版) | 记忆口诀 / 示例 |
|---|---|---|
| POM | Project Object Model,项目的“身份证” | pom.xml 文件就是整个项目的描述文件 |
| 坐标(GAV) | groupId + artifactId + version | 全世界唯一的 jar 身份证(如 com.example:myapp:1.0.0) |
| 依赖(dependency) | 你要用的 jar 包写在这里 | 标签里写坐标 |
| 依赖范围(scope) | compile(默认)、test、provided、runtime 等 | test → 只在测试时用,provided → 容器提供 |
| 生命周期 | validate → compile → test → package → install → deploy | mvn package = 执行到 package 阶段 |
| 插件(plugin) | Maven 的“外挂”,实现编译、打包、测试等功能 | maven-compiler-plugin、spring-boot-maven-plugin |
| 父 POM | spring-boot-starter-parent(最常用) | 帮你统一版本、插件配置 |
| 仓库 | 本地仓库 + 私服 + 中央仓库(maven.org) | 先查本地 → 私服 → 中央 |
第三部分:快速上手 Maven(零基础 30 分钟)
步骤 1:安装 Maven(2026 年最新推荐)
- 官网最新稳定版:Maven 3.9.12(2026 年 1 月主流,JDK 8+ 即可运行)
- Maven 4.0.0-rc-x 系列已出,但尚未正式 GA,生产建议先用 3.9.x
Windows 安装(最简单方式):
- 下载:https://maven.apache.org/download.cgi → Binary zip
- 解压到任意目录(如 D:\maven)
- 配置环境变量:
- 新建 M2_HOME = D:\maven\apache-maven-3.9.12
- Path 追加 %M2_HOME%\bin
- cmd 输入
mvn -v看到版本即成功
国内镜像加速(强烈推荐,下载快 10 倍)
编辑 conf/settings.xml,添加/修改 mirrors:
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
步骤 2:用 IDEA 创建第一个 Maven 项目(推荐方式)
- IDEA → File → New → Project
- 左侧选 Maven → JDK 选 17 或 21
- GroupId:com.example
- ArtifactId:my-first-maven
- Finish
项目结构自动生成:
my-first-maven
├── pom.xml
└── src
├── main
│ ├── java
│ └── resources
└── test
└── java
步骤 3:写一个最简单的 pom.xml(Spring Boot 风格)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-first-springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>my-first-springboot</name>
<!-- Spring Boot 父 pom(最重要!) -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.5</version> <!-- 或 3.4.x 最新稳定版 -->
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>21</java.version>
</properties>
<dependencies>
<!-- Web 启动器(包含 Tomcat + Spring MVC) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Spring Boot 可执行 jar 插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
步骤 4:写第一个 Hello World Controller
src/main/java/com/example/demo/HelloController.java
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello Maven + Spring Boot! (2026)";
}
}
步骤 5:常用 Maven 命令(背会这 7 个)
| 命令 | 作用 | 快捷键(IDEA) |
|---|---|---|
| mvn clean | 删除 target 目录 | Maven → clean |
| mvn compile | 编译 main 代码 | Maven → compile |
| mvn test | 运行单元测试 | Maven → test |
| mvn package | 打包(生成 jar/war) | Maven → package |
| mvn install | 打包 + 安装到本地仓库 | Maven → install |
| mvn spring-boot:run | 直接运行 Spring Boot 项目 | 绿色三角 或 run |
| mvn dependency:tree | 查看依赖树(排查冲突神器) | Maven → dependency:tree |
第四部分:新手最容易踩的 8 个坑 & 解决
- 依赖下载失败 → 检查网络 + 镜像 + settings.xml
- 版本冲突 → mvn dependency:tree 看树 → exclusion 排除
- JDK 版本不匹配 → pom 指定 java.version + IDEA Project SDK
- 编码问题 → pom 加 properties → project.build.sourceEncoding → UTF-8
- spring-boot-maven-plugin 没加 → 打包后 java -jar 报错
- 本地仓库被污染 → mvn dependency:purge-local-repository
- 阿里云镜像偶尔 404 → 换华为/腾讯镜像
- IDEA Maven 索引卡死 → File → Invalidate Caches → 重启
一句话总结(2026 最实用版):
先用 IDEA + Spring Initializr 创建带 spring-boot-starter-parent 的 Maven 项目 → 加 spring-boot-starter-web → 写 Controller → mvn spring-boot:run → 浏览器 localhost:8080/hello 看到输出 → 你就已经入门 Maven + Spring Boot 了!
接下来想学哪个方向?
- 依赖管理进阶(scope、exclusion、optional)
- 多模块项目搭建
- 集成 MyBatis / JPA
- 打包成 Docker 镜像
告诉我,我给你针对性下一章~