news 2026/6/13 13:52:20

【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/6/13 0:01:01

最佳实践推荐:NewBie-image-Exp0.1预装组件调用实操手册

最佳实践推荐&#xff1a;NewBie-image-Exp0.1预装组件调用实操手册 NewBie-image-Exp0.1 是一款专为动漫图像生成场景深度优化的开箱即用型AI镜像。它不是简单打包的环境快照&#xff0c;而是经过工程化打磨的创作工具——所有依赖已对齐、所有报错已修复、所有权重已就位&am…

作者头像 李华
网站建设 2026/6/13 0:02:22

【大数据毕设全套源码+文档】基于Django+Hadoop的热点新闻分析系统的设计与实现(丰富项目+远程调试+讲解+定制)

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

作者头像 李华
网站建设 2026/6/12 10:28:44

如何用BERT做中文语义填空?保姆级部署教程一文详解

如何用BERT做中文语义填空&#xff1f;保姆级部署教程一文详解 1. 引言&#xff1a;让AI帮你“猜”中文语境中的缺失词 你有没有遇到过一句话读到一半&#xff0c;突然卡壳&#xff0c;不知道该接什么词&#xff1f;或者写文章时想不起某个成语的准确表达&#xff1f;现在&am…

作者头像 李华
网站建设 2026/6/10 5:48:37

CAM++服务器部署全流程:从镜像到API调用详解

CAM服务器部署全流程&#xff1a;从镜像到API调用详解 1. 引言&#xff1a;为什么你需要一个说话人识别系统&#xff1f; 你有没有遇到过这样的场景&#xff1a;一段录音里有多个声音&#xff0c;你想知道其中两段是不是同一个人说的&#xff1f;或者你正在做身份验证系统&am…

作者头像 李华
网站建设 2026/6/9 20:36:59

Qwen3-0.6B知识库问答实战:RAG架构集成详细步骤

Qwen3-0.6B知识库问答实战&#xff1a;RAG架构集成详细步骤 1. 为什么选Qwen3-0.6B做知识库问答&#xff1f; 很多人一听到“大模型”就默认要上几十GB显存、跑7B甚至更大参数的模型。但现实是&#xff1a;很多企业内部知识库场景——比如产品文档检索、客服FAQ响应、员工培训…

作者头像 李华
网站建设 2026/6/10 11:34:22

RTX 4090D用户福音!Z-Image-Turbo高效绘图实测

RTX 4090D用户福音&#xff01;Z-Image-Turbo高效绘图实测 1. 为什么RTX 4090D用户该关注Z-Image-Turbo&#xff1f; 你是不是也经历过这样的时刻&#xff1a;刚入手RTX 4090D&#xff0c;显存堆到24GB&#xff0c;却卡在文生图模型的加载环节——等下载、等解压、等编译&…

作者头像 李华