Maven实战 | dependencies与dependencyManagement
今天在maven的pom文件中看到了dependencyManagement标签,用法如下:
<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud-version}</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
为什么要使用这个呢?maven官方给出的解释是:为了统一模块之间的依赖的版本。
有以下特点:
- 在父pom文件中声明
- 子模块中需要显式的声明,才会继承该依赖。
- 子模块如何需要继承该依赖,不需要指明版本,直接从父pom中获取版本号。
举个?:
顶层的父pom.xml文件:
<dependencyManagement> <dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>${javaee-api.version}</version> </dependency> </dependencies> </dependencyManagement>
子模块中的pom.xml
<!--继承父类-->
<parent> <artifactId>父artifactId</artifactId> <groupId>父groupId</groupId> <version>父version</version> <relativePath>父pom.xml的相对路径</relativePath>
</parent>
<!--依赖关系-->
<dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId></dependency>
</dependencies>
dependencies与dependencyManagement区别总结
1、dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)
2、dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项
,并且没有指定具体版本
,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号
,那么会使用子项目中指定的jar版本。
Maven实战 | dependencies与dependencyManagement相关推荐
- 转载:Maven实战—Dependencies与DependencyManagement的区别
致敬作者,支持原创.原文地址:https://www.cnblogs.com/feibazhf/p/7886617.html 在上一个项目中遇到一些Jar包冲突的问题,之后还有很多人分不清楚Depen ...
- Maven中dependencies与dependencyManagement的区别
之前在一个开源项目代码中看到有人在maven的依赖中使用 dependencyManagement,由于对这个不是很了解,忽然发现网上有个大神已经写了一个比较好的博客,因此这里直接转载(https:/ ...
- maven 中 dependencies 与 dependencyManagement 的区别
前言 当前的团队工程项目是一个 maven 工程,里面有多模块,包含了父 pom 与子 pom.而在父 pom 中,我见到了 dependencyManagement 这个东西.我们知道一个 mave ...
- MAVEN dependencies与dependencyManagement的区别
在上一个项目中遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别,本篇文章将这些区别总结下来. 1.DepencyManagem ...
- maven中的dependencies与dependencyManagement 对依赖管理的区别
1. dependencyManagement对所依赖jar包进行版本管理, 而dependencies中的jar直接加到项目中. 2. dependencies即使在子项目中不写该依赖项,那么子项目 ...
- 《Maven实战》读书笔记
目标 主要介绍maven的基本概念和工作机制,基于Maven实战 坐标和依赖 依赖管理的基础是坐标,maven仓库也基于maven坐标管理 坐标 maven的坐标包括groupId.artifactI ...
- Maven实战与原理分析(一):maven超全使用指南总结
maven package和maven install 有什么区别? 你常用的maven命令有哪些? <dependencyManagement> 是干什么的? 还有用过其它构建工具吗? ...
- Maven实战:Maven生命周期
前言 之前有写过一篇文章Maven实战,介绍了Maven的一些基本概念,以及对于一个初学者而言的Maven基础知识,当时在我看来掌握了这些基本是够用的. 随着工作的深入,越来越感觉对于Maven的理解 ...
- dependencies与dependencyManagement的区(转自:http://blog.csdn.net/liutengteng130/article/details/46991829)
在上一个项目中遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别,本篇文章将这些区别总结下来. 1.DepencyManagem ...
最新文章
- 推荐 6 个好用到爆的 Pycharm 插件
- 计算机应用教程 中级 平装,计算机应用中级教程
- c语言中malloc分配矩阵,malloc,分配矩阵
- 【freemaker】之include,import区别
- python函数设置默认参数_Python教程如何设置函数的默认参数
- android 学习查阅笔记
- 一个路由器两个网段互通_如何判断两个IP地址是否在同一个网段?什么是子网掩码?...
- C++ lower_bound 与 upper_bound 函数
- nuxt 全局css_解决nuxt 自定义全局方法,全局属性,全局变量的问题
- Vue_案例_初始化显示_采用组件化编写页面_实现组件间通信---vue工作笔记0022
- 中key的用途_Python中的函数定义与参数使用
- java day of month_Java LocalDateTime getDayOfMonth()用法及代码示例
- 苹果被拒:Guideline 2.3.10 - Performance - Accurate Metadata
- 连接NI采集箱9181与9184
- win7下安装vc6.0(sp5,sp6补丁安装)
- matlab 最优资产组合,基于MATLAB的最优投资组合问题.pdf
- 拉卡拉遭联想控股减持:套现3亿 总经理陈烈辞职
- 运用yolov5人脸识别模型生成标准的一寸照视频
- ibm是被联想收购了吗_联想的现状,让人不得不佩服当年IBM的老辣
- 转载_进程、轻量级进程(LWP)、线程
热门文章
- Linux下的tar压缩解压缩命令详解(转)
- 在web3上搭建ecshop网上商城
- C#制作Windows service服务系列二:演示一个定期执行的windows服务及调试(windows service)(转载)...
- NetBeans 时事通讯(刊号 # 74 - Sep 30, 2009)
- JavaScript 设计模式核⼼原理与应⽤实践之单例模式——Vuex的数据管理哲学
- Cassandra 简介
- TypeScript 类(Class)
- 如何在CentOS 7.x / RHEL 7.x上搭建Docker Private Registry(Docker私有仓库)
- 思科命令 service password-encryption
- 1,2,3……,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3.输出所有解。