惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Archives - TechRepublic
Security Archives - TechRepublic
爱范儿
爱范儿
Recent Announcements
Recent Announcements
AI
AI
V
Visual Studio Blog
H
Heimdal Security Blog
L
LINUX DO - 最新话题
Attack and Defense Labs
Attack and Defense Labs
宝玉的分享
宝玉的分享
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
人人都是产品经理
人人都是产品经理
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
WordPress大学
WordPress大学
S
Secure Thoughts
S
Security Affairs
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
N
News and Events Feed by Topic
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 聂微东
博客园 - Franky
阮一峰的网络日志
阮一峰的网络日志
Schneier on Security
Schneier on Security
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
Forbes - Security
Forbes - Security
The Cloudflare Blog
博客园 - 【当耐特】
酷 壳 – CoolShell
酷 壳 – CoolShell
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
有赞技术团队
有赞技术团队
博客园 - 司徒正美
博客园_首页
Recent Commits to openclaw:main
Recent Commits to openclaw:main
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
NISL@THU
NISL@THU
C
Cybersecurity and Infrastructure Security Agency CISA
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Proofpoint News Feed
罗磊的独立博客
V
Vulnerabilities – Threatpost
S
Securelist
N
News and Events Feed by Topic
Cloudbric
Cloudbric
P
Proofpoint News Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V2EX - 技术
V2EX - 技术
小众软件
小众软件

博客园 - 有点懒惰的大青年

用一个实际业务场景演示ON和WHERE的正确使用方式 idea中查看源码 异或运算 使用Hutool对时间的花式操作 合并K个升序列表 比较器 枚举类的设计模式 spring boot中使用RedissonClient实现分布式锁 idea同时启动application,启用不同端口 @PostConstruct用法 ApplicationContext 事件发布与监听机制详解 java自带命令jps介绍 mysql的跨库查询 linux命令ll显示结果的含义 Files类的使用 java环境变量设置 java值传递和引用传递 kafka的集群与可靠性 kafka的消费全流程 关于kafka 达梦数据库执行计划介绍 关于MQ 用位运算实现加减乘除(3)
关于maven中标签的说明
有点懒惰的大青年 · 2026-01-06 · via 博客园 - 有点懒惰的大青年

1.dependency下面的type和scope的意思是什么?

比如在父项目中有这么一段配置:

    <dependencyManagement>
        <dependencies>
            
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

在 Maven 的 <dependency> 元素中,type 属性的默认值是 jar

常见的type值:

type 值 说明 使用场景
jar (默认) Java ARchive 文件 大多数 Java 依赖
pom Project Object Model 依赖管理(BOM)
war Web Application ARchive Web 应用包
test-jar 测试专用的 jar 只用于测试的依赖
maven-plugin Maven 插件 Maven 插件依赖
ejb Enterprise JavaBean EJB 模块
ear Enterprise ARchive 企业级应用包

实践建议:

  1. 大多数情况不需要指定 type:让 Maven 使用默认值 jar

  2. 只有特殊情况才指定

    • BOM 依赖管理:type=pom

    • 特殊的打包格式:type=wartype=ear 等

  3. 保持一致性:同一项目的依赖尽量统一类型

  • 默认值type="jar"

  • 常见值jar(大多数依赖), pom(BOM依赖管理)

  • 原则:普通 Java 依赖不指定 type,依赖管理包必须指定 type=pom

scope=import 的含义

作用:导入 BOM(Bill Of Materials)

scope=import 表示将这个依赖的 依赖管理信息 导入到当前项目的依赖管理中。

import 的工作流程

1. 你的项目声明 scope=import
2. Maven 下载 BOM 文件
3. 将 BOM 中的 <dependencyManagement> 内容合并到你的项目中
4. 你的依赖自动使用 BOM 中定义的版本

其他 scope 值对比

scope 值 含义 使用场景
import 导入依赖管理信息 仅在 <dependencyManagement> 中用于 BOM
compile 编译范围(默认) 编译、测试、运行都需要
provided 已提供范围 容器或 JDK 已提供,如 servlet-api
runtime 运行时范围 仅运行时需要,如 JDBC 驱动
test 测试范围 仅测试时需要,如 junit
system 系统范围 从本地系统路径引入

总结

  • scope=import 是专门用于导入 BOM 依赖管理信息的

  • 不能省略:在 <dependencyManagement> 中对于 type=pom 的依赖必须使用

  • 作用:让项目继承 BOM 中定义的所有依赖版本

  • 位置:只能在 <dependencyManagement> 中使用

2.

--