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

推荐订阅源

L
LINUX DO - 最新话题
G
Google Developers Blog
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
F
Full Disclosure
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Vercel News
Vercel News
酷 壳 – CoolShell
酷 壳 – CoolShell
Recent Announcements
Recent Announcements
Help Net Security
Help Net Security
The Hacker News
The Hacker News
IT之家
IT之家
Y
Y Combinator Blog
Martin Fowler
Martin Fowler
L
Lohrmann on Cybersecurity
C
CERT Recently Published Vulnerability Notes
V
Visual Studio Blog
博客园 - 聂微东
Hacker News: Ask HN
Hacker News: Ask HN
H
Hacker News: Front Page
Know Your Adversary
Know Your Adversary
Security Latest
Security Latest
Security Archives - TechRepublic
Security Archives - TechRepublic
Simon Willison's Weblog
Simon Willison's Weblog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Last Week in AI
Last Week in AI
Schneier on Security
Schneier on Security
N
News and Events Feed by Topic
博客园 - 【当耐特】
有赞技术团队
有赞技术团队
AWS News Blog
AWS News Blog
Blog — PlanetScale
Blog — PlanetScale
博客园_首页
Google DeepMind News
Google DeepMind News
Cloudbric
Cloudbric
N
News | PayPal Newsroom
A
About on SuperTechFans
S
Schneier on Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Hugging Face - Blog
Hugging Face - Blog
M
MIT News - Artificial intelligence
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
雷峰网
雷峰网
T
The Exploit Database - CXSecurity.com
罗磊的独立博客
K
Kaspersky official blog
The Cloudflare Blog
I
Intezer

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

用一个实际业务场景演示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.

--