Maven 依赖范围(Scope)

前言

在 Maven 中,依赖范围(Scope)用于控制依赖在不同构建阶段的可用性,以及依赖是否会被传递到其他项目中。合理设置依赖范围可以优化项目结构、减少冲突,并确保构建的可重复性

Scope设置

compile

对于maven中,如果没有指定,默认使用该依赖范围,编译、测试、运行阶段均可用,打包时包含,并且具有传递性,如,定义一个项目

加入依赖

在其他项目中引入包

发现fastjson可以传递

provided

编译和测试阶段可用,在运行时,由容器提供,包是没有传递性的

引入到其他项目,fastjson没有引入

runtime

运行和测试阶段需要,但是编译住阶段不需要,但是具有传递性,如jdbc场景

test

仅测试阶段可用,编译和运行阶段不需要

import

import在于导入其他 pom 的依赖管理配置,多用于dependencyManagement

system

系统依赖范围,多用于引用本地依赖

但是这种不推荐,尽量使用远程仓库,除非没有把包deploy到远程仓库

范围 编译期 测试期 运行期 打包时 传递性
compile
provided
runtime
test
system
import 特殊

总结

合理使用maven依赖,可以优化项目依赖结构等,

相关推荐
小厂永远得不到的男人13 分钟前
基于 Spring Validation 实现全局参数校验异常处理
java·后端·架构
计算机编程小咖1 小时前
《基于大数据的农产品交易数据分析与可视化系统》选题不当,毕业答辩可能直接挂科
java·大数据·hadoop·python·数据挖掘·数据分析·spark
艾莉丝努力练剑1 小时前
【C语言16天强化训练】从基础入门到进阶:Day 7
java·c语言·学习·算法
老华带你飞1 小时前
校园交友|基于SprinBoot+vue的校园交友网站(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·校园交友网站
沉迷技术逻辑1 小时前
Maven初识到应用
maven
自强的小白2 小时前
学习Java24天
java·学习
Ashlee_code3 小时前
香港券商櫃台系統跨境金融研究
java·python·科技·金融·架构·系统架构·区块链
还梦呦3 小时前
2025年09月计算机二级Java选择题每日一练——第五期
java·开发语言·计算机二级
2501_924890523 小时前
商超场景徘徊识别误报率↓79%!陌讯多模态时序融合算法落地优化
java·大数据·人工智能·深度学习·算法·目标检测·计算机视觉
若行若冲3 小时前
Idea中 lombok 在“测试类中-单元测试”运行失败及解决方法
单元测试·log4j·maven·intellij-idea·lombok