当前位置: 首页 > news >正文

maven <dependencyManagement>标签的作用

作用

dependencyManagement标签的作用:在父工程pom文件中声明依赖,但不引入;在子工程中用到声明的依赖时,可以不加依赖的版本号,这样可以统一管理工程中用到的依赖版本。

示例

先创建一个项目 dependencyManagement-demo

在pom.xml内加入以下内容

    <dependencyManagement><dependencies><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.1.36</version></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>19.0</version></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies>

如下图可以看到,<dependencyManagement>标签内的依赖并未引入,因为它只起到声明作用

接下来我们改一下代码,将 fastjson 和 guava 加到下面的 dependencies 标签中

    <dependencyManagement><dependencies><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.1.36</version></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>19.0</version></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId></dependency></dependencies>

然后我们可以看到,这2个依赖也引入了,需要注意的是,在下面的 dependencies 标签中引入依赖,并未加版本号

子项目引用父项目

接下来创建一个子项目 child,结构如下

在子项目中引用父项目

<?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"><parent><artifactId>dependencyManagement-demo</artifactId><groupId>org.example</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>child</artifactId>
</project>

可以看到,子项目自动继承了父项目的依赖

http://www.lryc.cn/news/601804.html

相关文章:

  • AutoLabelImg:高效的数据自动化标注工具和下载
  • IndexedDB全面掌握:从入门到Odoo OWL框架实战
  • mac系统彻底删除mysql并重装
  • [AI8051U入门第十步]W5500-客户端
  • 全方位评测:11款主流指标平台优劣分析
  • FreeRTOS—队列集
  • 【Web APIs】JavaScript 节点操作 ⑩ ( 节点操作综合案例 - 动态生成表格案例 )
  • add新增管理员功能、BaseController类的简介--------示例OJ
  • 链表算法综合——重排链表
  • Webpack 和 Vite 的关键区别
  • 01人工智能中优雅草商业实战项目视频字幕翻译以及声音转译之底层处理逻辑阐述-卓伊凡|莉莉
  • J2EE模式---服务层模式
  • WAIC 2025 热点解读:如何构建 AI 时代的“视频神经中枢”?
  • Java面试题及详细答案120道之(081-100)
  • 零基础学习性能测试第五章:JVM性能分析与调优-多线程机制与运行原理
  • 【RAG技术权威指南】从原理到企业级应用实践
  • 蓝奏云网盘API 2.0
  • HCIE学习之路:路由引入
  • 比特币运行机制全解析:区块链、共识算法与数字黄金的未来挑战
  • 【代码问题】【包安装】MMCV
  • Item15:在资源管理类中提供对原始资源的访问
  • C语言(长期更新)第6讲:函数
  • 20250727-1-Kubernetes 网络-Ingress介绍,部署Ingres_笔记
  • rename系统调用及示例
  • 虚拟机ubuntu20.04共享安装文件夹
  • 【笔记】系统
  • ADB Shell 命令
  • 安装redis
  • 2025.7.22总结-幸福的力量
  • 《汇编语言:基于X86处理器》第10章 结构和宏(1)