news 2026/4/16 20:21:38

【SpringBoot】从学会使用maven开始

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【SpringBoot】从学会使用maven开始

下面是一份2026 年视角从零开始学会使用 Maven + Spring Boot 项目的最实用、最快上手指南。

目标:1–2 小时内搞懂 Maven 核心概念,并能独立创建/运行一个 Spring Boot 项目。

第一部分:Maven 到底是什么?为什么必须先学它?

Maven 是 Java 生态里最主流的构建工具 + 依赖管理工具(2026 年使用率仍超过 70%)。

它帮你解决三大痛点:

  1. 依赖管理:不用手动下载 jar 包,写个坐标就能自动下载 + 管理版本冲突
  2. 项目构建:一键编译、测试、打包(jar/war)、生成可执行文件
  3. 项目标准化:目录结构、生命周期、插件体系统一,几乎所有公司都用 Maven 结构

对比 Gradle(2026 年新兴趋势):

项目MavenGradle2026 年推荐场景
配置文件pom.xml(XML)build.gradle(Groovy/Kotlin)Maven 更稳,Gradle 更灵活
学习曲线新手首选 Maven
速度中等更快(增量构建、缓存强)中大型项目 Gradle 更香
生态极其丰富很好,但部分老插件不支持公司内部项目 80%+ 仍用 Maven

结论:新手/面试/大多数公司项目 → 先精通 Maven,后面再学 Gradle 很容易迁移。

第二部分:Maven 核心概念(背会这 8 个就入门)

概念解释(最通俗版)记忆口诀 / 示例
POMProject 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 → deploymvn package = 执行到 package 阶段
插件(plugin)Maven 的“外挂”,实现编译、打包、测试等功能maven-compiler-plugin、spring-boot-maven-plugin
父 POMspring-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 安装(最简单方式):

  1. 下载:https://maven.apache.org/download.cgi → Binary zip
  2. 解压到任意目录(如 D:\maven)
  3. 配置环境变量:
    • 新建 M2_HOME = D:\maven\apache-maven-3.9.12
    • Path 追加 %M2_HOME%\bin
  4. 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 项目(推荐方式)
  1. IDEA → File → New → Project
  2. 左侧选Maven→ JDK 选 17 或 21
  3. GroupId:com.example
  4. ArtifactId:my-first-maven
  5. Finish

项目结构自动生成:

my-first-maven ├── pom.xml └── src ├── main │ ├── java │ └── resources └── test └── java
步骤 3:写一个最简单的 pom.xml(Spring Boot 风格)
<?xml version="1.0" encoding="UTF-8"?><projectxmlns="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

packagecom.example.demo;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassHelloController{@GetMapping("/hello")publicStringhello(){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 个坑 & 解决

  1. 依赖下载失败→ 检查网络 + 镜像 + settings.xml
  2. 版本冲突→ mvn dependency:tree 看树 → exclusion 排除
  3. JDK 版本不匹配→ pom 指定 java.version + IDEA Project SDK
  4. 编码问题→ pom 加 properties → project.build.sourceEncoding → UTF-8
  5. spring-boot-maven-plugin 没加→ 打包后 java -jar 报错
  6. 本地仓库被污染→ mvn dependency:purge-local-repository
  7. 阿里云镜像偶尔 404→ 换华为/腾讯镜像
  8. 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 镜像

告诉我,我给你针对性下一章~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 7:27:45

虎贲等考 AI:AI 驱动学术创作革新,全流程赋能论文写作新体验

官网入口&#xff1a;虎贲等考 AI 智能写作&#xff1a;https://www.aihbdk.com/ 在学术写作的赛道上&#xff0c;你是否也曾陷入这些困境&#xff1f; 选题迷茫无方向 → 文献繁杂难梳理 → 数据图表缺规范 → 查重去痕反复改 → 答辩准备手忙脚乱 虎贲等考 AI&#xff0c;一…

作者头像 李华
网站建设 2026/4/15 7:52:53

【大数据毕设全套源码+文档】django基于hadoop的外卖配送分析及可视化系统的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/16 7:20:42

计算机毕设 java 基于个性化推荐的数字阅读平台的设计与实现 智能个性化推荐数字阅读平台设计与实现 基于用户偏好的个性化数字阅读系统

计算机毕设 java 基于个性化推荐的数字阅读平台的设计与实现 9t97s9&#xff08;配套有源码 程序 mysql 数据库 论文&#xff09;本套源码可以先看具体功能演示视频领取&#xff0c;文末有联 xi 可分享在互联网技术和电子终端普及的背景下&#xff0c;数字阅读成为主流阅读方式…

作者头像 李华
网站建设 2026/4/16 9:08:06

CosyVoice2-0.5B真实应用:跨境电商多语种配音实战

CosyVoice2-0.5B真实应用&#xff1a;跨境电商多语种配音实战 1. 跨境电商的语音痛点&#xff1a;多语言、高成本、难统一 你有没有遇到过这种情况&#xff1f;你的产品要卖到欧美、日韩、东南亚&#xff0c;每个市场都需要本地化的宣传视频。可请配音演员太贵了&#xff0c;…

作者头像 李华
网站建设 2026/4/16 9:08:02

Qwen2.5-0.5B镜像优势:为何比手动部署快10倍?

Qwen2.5-0.5B镜像优势&#xff1a;为何比手动部署快10倍&#xff1f; 1. 为什么“快10倍”不是夸张&#xff0c;而是真实体验 你有没有试过自己从零部署一个大模型&#xff1f;下载模型权重、配置环境、安装依赖、调试推理框架、适配Web界面……光是解决torch和transformers版…

作者头像 李华