Maven POM 依赖管理总结
Maven 的依赖管理是项目构建的核心通过 pom.xml 中的dependencies元素声明项目所需的第三方库。以下是对依赖使用的系统性总结涵盖常见场景和最佳实践。1. 基本依赖声明dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion2.7.0/versionscopecompile/scope!-- 默认 compile --optionalfalse/optional!-- 默认 false --exclusionsexclusiongroupId.../groupIdartifactId.../artifactId/exclusion/exclusions/dependency/dependencies必填项groupId、artifactId、version除非继承父POM或由 dependencyManagement 管理version可以不填。2. 依赖范围ScopeScope编译器测试期运行期打包包含典型场景compile✔✔✔✔核心库provided✔✔✘✘lombok等runtime✘✔✔✔jdbc驱动test✘✔✘✘JUnit、Mockitosystem✔✔✘✘本地JAR需配合不推荐import----仅用于 dependencyManagement导入BOMimport 的关键约束dependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion2.7.0/versiontypepom/type!-- 必须指定 typepom --scopeimport/scope!-- 必须指定 scopeimport --/dependency/dependencies/dependencyManagement只能用在dependencyManagement中不能出现在普通的dependencies里。必须指定 pom因为导入的目标是一个 POM 文件而不是 jar。必须指定 import告诉 Maven 这是导入依赖管理而不是实际引入依赖。被导入的 POM 必须本身包含 节否则导入无效。3. 排除依赖项ExclusionsdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion2.7.0/versionscopecompile/scope!-- 默认 compile --optionalfalse/optional!-- 默认 false --exclusionsexclusiongroupId.../groupIdartifactId.../artifactId/exclusion/exclusions/dependency典型场景排除旧版commons-logging、 Log4j、SLF4J 桥接冲突gson等。4. 依赖不传递Optional 它的核心作用是控制依赖的传递性当一个依赖被声明为 optionaltrue 时该依赖不会自动传递给依赖当前项目的下游项目。dependencygroupIdcom.example/groupIdartifactIdsome-lib/artifactIdversion1.0/versionoptionaltrue/optional!-- 默认 false --/dependencyoptional 默认为 false表示该依赖是必需的并且会向下游传递。设置为 true 后该依赖不会被下游项目继承但当前项目本身仍然可以使用它编译、测试、运行都需要它。5. 引用本地jarsystemdependencygroupIdcom.legacy/groupIdartifactIdold-lib/artifactIdversion1.0/versionscopesystem/scopesystemPath${project.basedir}/lib/old-lib.jar/systemPath/dependency强烈不建议使用本地依赖推荐上传到maven私服主要有下述几个原因该 jar 不会被打入 WAR/JAR 包除非额外配置 maven-war-plugin无法被传递依赖引用跨机器构建时路径可能不一致无法被依赖分析工具识别6. 依赖检查两个常用命令mvn dependency:tree# 查看完整依赖树mvn dependency:analyze# 分析未使用/未声明的依赖定期清理无用依赖运行 mvn dependency:analyze 找出 Unused declared dependencies 和 Used undeclared dependencies。

相关新闻

深耕解释型语言:攻击性Python攻防技术

深耕解释型语言:攻击性Python攻防技术

作者:Kevin Clark 红队对抗模拟 恶意代码分析 https://trustedsec.com/blog/operating-inside-the-interpreted-offensive-python一、引言 我时常会回头复盘那些早年盛行、如今在攻击圈渐渐失宠的技术手段。Office宏、PowerShell、自定义ShellCode加载器这类技术曾…

2026/8/11 3:20:20 阅读更多 →
系统盘迁移实战:从C盘空间不足到SSD扩容完整指南

系统盘迁移实战:从C盘空间不足到SSD扩容完整指南

1. 从“C盘红了”到“系统盘迁移”:一个老司机的实战复盘最近帮朋友处理一台老电脑,开机就弹窗提示“磁盘空间不足”,C盘那个红色的小条格外刺眼。朋友说,电脑是五六年前配的,当时觉得256GB的固态硬盘(SSD&…

2026/8/11 3:19:20 阅读更多 →
Unity游戏化C盘清理工具开发:从磁盘扫描到安全删除的完整实践

Unity游戏化C盘清理工具开发:从磁盘扫描到安全删除的完整实践

在实际开发中,我们经常会遇到一个令人头疼的问题:项目依赖、缓存文件、日志和构建产物不知不觉地占满了系统盘(通常是C盘),导致开发环境变慢,甚至影响系统运行。手动清理不仅繁琐,而且容易误删重…

2026/8/11 3:19:20 阅读更多 →

最新新闻

FIO 实战详解:安全测试 Linux 磁盘 IOPS 的正确方法

FIO 实战详解:安全测试 Linux 磁盘 IOPS 的正确方法

在性能测试中,磁盘 IOPS(Input/Output Operations Per Second) 是衡量存储系统性能的重要指标。 但很多人拿到 fio 命令后就直接对 /dev/sdX 开始“无脑测试”,结果数据全毁、分区损坏、系统宕机。 本文将系统讲解 fio 的正确使用…

2026/8/11 5:20:49 阅读更多 →
磁盘性能测试工具 FIO 安装与使用

磁盘性能测试工具 FIO 安装与使用

工具简介 工具定位 FIO 是一款专业级存储性能测试工具,可模拟服务器、硬盘等设备在不同工作压力下的表现(如数据库读写、文件传输等场景),并生成量化性能报告。 核心优势 多模式测试 - 支持模拟20种数据读写模式(如…

2026/8/11 5:20:49 阅读更多 →
AI大模型落地三引擎:量化、工作流与智能体、多轮RAG实战解析

AI大模型落地三引擎:量化、工作流与智能体、多轮RAG实战解析

1. 项目概述:从概念到实践的AI大模型核心拼图最近和不少同行交流,发现大家一提到AI大模型,脑子里蹦出来的往往是“ChatGPT”、“文心一言”这些具体的应用,或者“Transformer”、“注意力机制”这些底层架构。这当然没错&#xff…

2026/8/11 5:20:49 阅读更多 →
动态规划入门:0/1背包问题核心原理与代码实现详解

动态规划入门:0/1背包问题核心原理与代码实现详解

1. 背包问题:从新手到精通的必经之路 如果你刚开始接触算法,尤其是动态规划,那么“0/1背包问题”绝对是你绕不开的一座大山,也是检验你是否真正理解动态规划思想的绝佳试金石。我见过太多朋友,一看到“状态转移方程”这…

2026/8/11 5:20:49 阅读更多 →
数据库设计实战:从E-R图到关系表的完整指南与避坑策略

数据库设计实战:从E-R图到关系表的完整指南与避坑策略

1. 项目概述:从概念到实现的桥梁如果你刚接触数据库设计,可能会觉得一堆“实体”、“关系”这些词有点抽象,但别担心,这其实就是把现实世界里的东西和它们之间的联系,用一种计算机能懂的方式画出来、写下来的过程。E-R…

2026/8/11 5:20:49 阅读更多 →
Django连接MySQL全攻略:跨平台环境配置与避坑指南

Django连接MySQL全攻略:跨平台环境配置与避坑指南

1. 项目概述与核心价值 搞Python Web开发,Django绝对是绕不开的框架,而数据库选型里,MySQL又是最经典、应用最广的关系型数据库之一。把这两者顺畅地连接起来,是每个Django开发者入门后要跨过的第一道“实战坎”。这个项目标题“…

2026/8/11 5:19:49 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →