Maven坐标与依赖管理

Maven坐标与依赖管理

2026年5月16日·#javawebai/后端基础Java/Maven·461 字 2 分钟
浏览量加载中...
AI 摘要- DeepSeek

Maven坐标体系、POM文件结构、依赖配置、依赖传递与排除依赖的完整说明

Maven坐标与依赖管理#

Maven坐标#

坐标是资源的唯一标识,通过坐标可以唯一定位资源位置,用于定义项目或引入依赖。

坐标组成#

组成部分含义说明
groupId组织名称通常为域名反写,如 com.itheima
artifactId模块名称如 order-service、goods-service
version版本号SNAPSHOT(快照版)或 RELEASE(发行版)
  • SNAPSHOT:功能不稳定、尚处于开发中的快照版本
  • RELEASE:功能趋于稳定、可以用于发行的版本

坐标表示项目

POM 文件结构#

POM(Project Object Model)通过 pom.xml 描述当前 Maven 项目。

<?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">
<!-- POM模型版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 当前项目坐标 -->
<groupId>com.itheima</groupId>
<artifactId>maven-project01</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 项目的JDK版本及编码 -->
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

核心标签说明:

标签说明
<project>POM 文件根标签
<modelVersion>POM 模型版本,目前为 4.0.0
<groupId> / <artifactId> / <version>项目坐标,定位项目在本地仓库中的位置
<maven.compiler.source>编译 JDK 版本
<maven.compiler.target>运行 JDK 版本
<project.build.sourceEncoding>项目字符集编码

依赖配置#

基本配置#

在 pom.xml 中使用 <dependencies> 和 <dependency> 引入依赖:

<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>6.1.4</version>
</dependency>
</dependencies>

查找依赖坐标的途径:Maven 中央仓库 https://mvnrepository.com/

依赖传递#

在 Maven 项目中,如果 A 依赖 B,B 依赖 C,C 依赖 D,那么 A 项目中也会传递引入 C 和 D。

依赖传递

排除依赖#

如果传递下来的某个依赖不需要,可以通过 <exclusions> 排除,被排除的资源无需指定版本。

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>6.1.4</version>
<!-- 排除依赖 -->
<exclusions>
<exclusion>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation</artifactId>
</exclusion>
</exclusions>
</dependency>

排除依赖

注意事项#

  • 引入的依赖如果在本地仓库中不存在,会连接远程仓库/中央仓库下载,首次耗时较长。
  • 依赖坐标信息不确定时,可到 https://mvnrepository.com/ 搜索。
  • 排除依赖只需指定 groupId 和 artifactId,无需 version。

评论区

[ 标签 ]
# AI37# AI 编程2# AI工具1# AI绘图1# AI辅助开发2# Ajax7# Apifox1# AstrBot3# Astro2# CC Switch1# CDN2# Claude Code1# claudecode2# ClaudeCode1# Cloudflare2# CloudFlare2# CloudFlare-ImgBed3# coc4# CSS10# DeepSeek6# deepseek2# DELETE1# Docker5# EdgeOne3# Gist1# git1# GitHub1# hexo-circle-of-friends1# HTML9# HTTP10# ImageManager1# Java23# java13# JavaScript11# JavaWeb113# JDBC7# JSON2# JUnit1# LangChain25# Linux4# Logback1# Maven17# Muse Spark1# Mybatis1# MyBatis18# MySQL45# MySql1# NapCat1# Node.js1# obsidian2# Obsidian5# OpenCode4# ORM1# PathVariable1# PicGo1# PyCharm1# Python70# RequestBody1# RequestMapping1# RESTful风格1# skills1# Slf4j1# SpringBoot37# SpringMVC5# SQL2# Streamlit5# Svelte2# TailwindCSS1# Telegram3# Tlias2# Vercel1# vscode2# Vue20# Waline3# Web3# WebDAV1# Web基础6# Web开发6# WinSCP1# YAML1# 三层架构1# 中二宣言1# 书籍1# 使用文档10# 写作1# 函数2# 刷步数1# 前端52# 动态1# 动漫1# 包1# 单词2# 博客8# 博客工作流1# 博客开发2# 参数接收1# 友链1# 反思2# 后端48# 图床6# 地图1# 备份2# 大模型1# 奇思妙想1# 存储1# 学习方法6# 学校1# 宝塔面板3# 宝宝10# 实战4# 对象1# 导航栏1# 工具2# 布局2# 开发1# 开发工具1# 开发规范1# 开心1# 异常处理1# 影视2# 微信1# 性能优化2# 总结1# 想法15# 感受1# 感悟11# 指南1# 提示词工程2# 插件5# 故障排除1# 效率工具2# 教程10# 数据分析9# 数据库27# 数据结构1# 文件操作2# 斩神1# 日常95# 日志框架1# 朋友圈1# 朱元璋1# 模块1# 模板1# 正则表达式2# 测试3# 游戏2# 爬虫7# 生活迁移1# 电影2# 电脑1# 碎碎念1# 视觉识别1# 类1# 类型注解1# 网络基础2# 网络教室1# 羊毛2# 脚本2# 脚本工具1# 自动化2# 蓝奏云1# 表单1# 订阅推荐2# 记录2# 评论系统1# 词根1# 词缀1# 说说1# 足迹1# 跑步2# 路径参数1# 转载2# 运动1# 部署11# 部落冲突1# 配置1# 随机图1# 面向对象5# 音乐3# 音标1# 项目实战11# 饮食1# 驼峰命名1# 高德地图1
[ 公告 ]

如果你喜欢,那么欢迎来到我的世界!

了解更多
[ 音乐 ]
封面

音乐

暂未播放

0:000:00
暂无歌词
找不到相关结果。
[ contents ]
[ 全部文章 ]