【SpringBoot】从学会使用maven开始

作者:那我掉的头发算什么日期:2026/1/17

在这里插入图片描述

🎬 那我掉的头发算什么个人主页

🔥 个人专栏: 《javaSE》《数据结构》《数据库》《javaEE》

⛺️待到苦尽甘来日


在这里插入图片描述

引言

当我们在创建一个新的idea项目时,不知道大家注意过没有

在这里插入图片描述
在这个页面中除了IntelliJ选项之外,还有一个Maven选项。而这个Maven恰好就是我们今天这篇文章的重头戏!

文章目录

  • 引言
  • 创建Maven项目
  • pom文件
    • 项目基本信息
    • GAV
    • properties
    • 依赖管理核心:dependencies与dependency
  • Maven的配置与使用
    • 生命周期
    • 下载依赖到本地仓库
      • 新建Maven仓库

创建Maven项目

在这里插入图片描述

单单创建一个Maven项目其实很简单,只需要在原有的基础上把本来创建的idea项目改成Maven就好了。此处的GroupId和ArtifactId在工作中参与大项目时会使用到,表示组名和项目的一些信息。

在这里插入图片描述

创建完成后的项目中的目录与我们之前idea的目录差异很大,有了很多没见过的模块,比如:

  • target:Maven构建项目后生成的输出目录,所有的编译、打包的结果都会在这里
  • pom.xml:Maven 项目的核心配置文件,定义了项目的依赖、构建方式、插件、版本等关键信息。
  • External Libraries 外部依赖:这里显示的是项目通过 Maven 引入的所有外部依赖库。

target目录下的内容其实可以全部删除,因为每一次刷新Maven这些东西就会通过Maven指令重新解析并且重新生成一遍,我们只需要其中有用的包就行。
当我们想要检查某一个依赖是否真的被加入到项目中,我们可以检查外部依赖,如果外部依赖里确实有,那就说明这个依赖被添加进去了。

pom.xml是Maven中一个非常重要的文件!

pom文件

这是一个简单的数据库依赖:

1<?xml version="1.0" encoding="UTF-8"?>
2<project xmlns="http://maven.apache.org/POM/4.0.0"
3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5    <modelVersion>4.0.0</modelVersion>
6
7    <groupId>org.example</groupId>
8    <artifactId>maven-demo</artifactId>
9    <version>1.0-SNAPSHOT</version>
10
11    <properties>
12        <maven.compiler.source>17</maven.compiler.source>
13        <maven.compiler.target>17</maven.compiler.target>
14        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15    </properties>
16
17    <dependencies>
18        <dependency>
19            <groupId>com.mysql</groupId>
20            <artifactId>mysql-connector-j</artifactId>
21            <version>9.3.0</version>
22            <exclusions>
23                <exclusion>
24                    <artifactId>protobuf-java</artifactId>
25                    <groupId>com.google.protobuf</groupId>
26                </exclusion>
27            </exclusions>
28        </dependency>
29
30
31    </dependencies>
32</project>
33

项目基本信息

在这里插入图片描述

前面这一部分都是对于项目的一些简介,里面包含了项目的一些基本信息。

GAV

1<groupId>org.example</groupId>
2<artifactId>maven-demo</artifactId>
3<version>1.0-SNAPSHOT</version>
4

这三个标签合称为Maven 的 GAV 坐标,是全球唯一标识一个项目 / 依赖的 “身份证”,无论在本地仓库还是中央仓库,Maven 都靠这三个值定位资源。

G:组织(团队名or公司名)
A:项目(项目名称)
V:版本

properties

1<properties>
2    <maven.compiler.source>17</maven.compiler.source>
3    <maven.compiler.target>17</maven.compiler.target>
4    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
5</properties>
6

properties是全局属性配置区,可以在这里定义 “公共变量”,作用是统一管理项目的基础配置,避免分散配置导致的不一致。
比如此处就定义了jdk的版本以及编码格式。

依赖管理核心:dependencies与dependency

1<dependencies>
2        <dependency>
3            <groupId>com.mysql</groupId>
4            <artifactId>mysql-connector-j</artifactId>
5            <version>9.3.0</version>
6            <exclusions>
7                <exclusion>
8                    <artifactId>protobuf-java</artifactId>
9                    <groupId>com.google.protobuf</groupId>
10                </exclusion>
11            </exclusions>
12        </dependency>
13
14
15    </dependencies>
16

这里我们也是通过其中的GAV坐标来定位依赖,比如此处使用的就是Mysql官方的JDBC驱动来进行数据的链接的一个依赖。Maven会自动的到官方地址去下载这个依赖到本地仓库。

Maven 有 “传递依赖” 机制:当你引入 A 依赖时,A 依赖本身依赖的 B、C 库也会被自动引入。
但有时候,传递依赖会带来问题(比如版本冲突、冗余依赖),这时候就需要exclusions排除不需要的传递依赖:
这里排除了com.google.protobuf:protobuf-java:说明mysql-connector-j:9.3.0本身依赖了protobuf-java,但你的项目不需要这个库(或者它和其他依赖版本冲突),所以通过exclusion强制排除。

Maven的配置与使用

生命周期

在这里插入图片描述
我们点击右边的图标就可以打开Maven操作界面了。
这一部分表示整个Maven的一个生命周期。不过我们平时只需要用到前五个就可以。
在这里插入图片描述
我们可以直接双击package代表执行除了clean前五个命令,最终会将项目打包成一个.jar包。

下载依赖到本地仓库

在这里插入图片描述
如图所示,我们刚开始尝试添加一个依赖的时候,肯定会出现上面这样的报红的情况。这是因为Maven检查了本地仓库之后发现不存在9.2.0这个版本的数据库依赖。此时我们可以点击刷新Maven ,让Maven下载依赖:
在这里插入图片描述

新建Maven仓库

我们的Maven在本地C盘中有一个默认仓库,一般是在C:\Maven.m2中。建议大家改到别的目录下,因为我们的依赖都会被下载到这里,久而久之会占用很大的存储空间。注意新建的Maven仓库要包含原仓库中的所有文件。
在这里插入图片描述
然后我们把这里的两个路径改成和我图中一样的路径即可。
此处的setting.xml中保存了Maven的一些基本设置等。正常来说Maven会到总仓库中下载依赖,但是这个服务器在国外,所以速度可能会有点慢,可以通过在settings.xml中配置国内镜像源把下载路径改到国内的云服务,下载速度会变快。
有需要的话可以私信我,我把我的setting.xml文件私发给你。

当然,Maven的用法不止这些,感兴趣的话,大家可以自行探索哦

以上就是本篇博客全部内容!


【SpringBoot】从学会使用maven开始》 是转载文章,点击查看原文


相关推荐


RAG索引流程详解:如何高效解析文档构建知识库
北辰alk2026/1/9

引言:为什么文档解析是RAG的基石? 在RAG(检索增强生成)系统中,文档解析是整个知识库构建的第一步,也是最关键的一步。就像建房子需要打好地基一样,良好的文档解析质量直接决定了后续检索和生成的效果。今天,我们就深入探讨RAG索引流程中的文档解析技术。 一、RAG文档解析的整体架构 首先,让我们通过一个流程图了解完整的解析流程: ┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐ │                 


Pico裸机2(汇编基础)
fanged2026/1/1

既然都裸机了,还是简单回顾一下汇编吧。。。 1 概念 来自:https://redfoxsec.com/blog/introduction-to-assembly-language/ 汇编基本上就是机器码。汇编语言是一种直接对应处理器指令集的低级语言,它以人类可读的形式表达机器指令,是软件与硬件之间几乎最底层的一层接口;每一条汇编指令几乎都能映射为一条机器指令,能够精确控制寄存器、内存、指令顺序和硬件状态,因此被广泛用于启动代码、中断处理、上下文切换和性能或时序极端敏感的场景。


Flutter 开发实战:解决华为 HarmonyOS 任务列表不显示 App 名称的终极指南
雨夜寻晴天2025/12/22

问题背景 在 Flutter 应用开发中,我们最近遇到了一个棘手的兼容性问题:在部分 华为手机(HarmonyOS 4.2.0,如 Mate 30 Pro 5G) 上,应用运行时的最近任务列表(Overview Screen)中,只显示应用图标,却不显示应用名称(App Name)。 虽然我们在 AndroidManifest.xml 中正确配置了 android:label,但在 HarmonyOS 系统上依然无效。这不仅影响用户体验,也可能导致应用在审核时被拒(如华为应用市场审核指南第 2.


【鸿蒙开发案例篇】定点出击!鸿蒙6.0视频碰一碰流转+实时进度同步案例
威哥爱编程2025/12/14

兄弟们抄家伙!今天V哥要用鸿蒙6.0的分布式能力撕碎视频跨设备流转的防线!目标:手机碰一下车机/平板,视频秒级切换+进度毫秒级同步,全程零手动干预!以下基于HarmonyOS 6.0(API 21)的ArkTS实战核弹代码已就位👇 联系V哥获取 鸿蒙学习资料 🔥 一、技术架构:分布式视频作战链 核心武器库: 碰一碰触发:NFC+分布式设备管理(@ohos.distributedDeviceManager) 进度同步引擎:AVSession Kit(@kit.AVSessionKit) 数


【Claude Code】长时间运行 agents 的有效控制框架
是魔丸啊2025/12/6

转载 Harness原意是马具,从马具控制马匹,引申为一个控制和管理框架,用于封装、引导和监督AI代理的行为。后文为了保持原意,作为专有名词不翻译了。 文中提到的initializer agent / coding agent,并不是claude code已经内置的机制,而是一个最佳实践,需要自行配置。如果想要prompt,可以去这里寻找: github.com/anthropics/… 随着 AI agents 变得更加强大,开发者越来越多地要求它们承担需要跨越数小时甚至数天工作的复杂任务


《 Linux 修炼全景指南: 七 》 指尖下的利刃:深入理解 Vim 的高效世界
Lenyiin2025/11/28

摘要 本篇《Linux Vim 入门指南》从零开始,系统而全面地介绍了 Vim 的操作理念、基础模式、光标移动、文本编辑、搜索替换、可视化模式、多窗口与多文件协作等核心能力,并深入讲解 Vim 配置、插件体系与高效编辑技巧。文章不仅涵盖新手最容易踩的坑,还通过实战示例带你完成一次完整的编辑任务,使读者不但 “会用 Vim”,更真正理解 Vim 背后的高效思维方式。无论你是 Linux 新手,还是想进一步提升编辑效率的开发者,这篇指南都将成为你学习 Vim 的最佳起点。 1、引言:为什么学 Vi


CSDN创作变现活动!社区镜像或使用视频教程分别单个最高得 80 元,收益上不封顶!
CSDN官方博客2026/1/26

CSDN AI 社区是聚焦 AI 技术产业落地的开发者服务平台(官方入口),核心为创作者搭建技术价值转化桥梁,AI社区涵盖: 镜像市场(社区镜像)、算力市场等模块。 本次推出镜像创作激励活动,以下是方案活动规则、参与要求及激励政策,保障创作者权益与活动有序开展。 一、活动总则 活动时间: 2026年1月1日 - 2026年2月28日 现金奖励: 1、按照官方指定镜像任务创作,单个社区镜像奖励 30-80元现金

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 XYZ博客