Maven排除依赖exclusion用法
Maven排除依赖exclusion用法
假设有如下依赖:
A->B->C(1.0)
项目B依赖了项目C的1.0版本,由于项目C比较活跃,此时已经升级了好几个版本,比如已经升级到了4.0版本。由于依赖的传递性,根据此依赖链:A->B->C(1.0),A项目默认会加载C的1.0版本,如何使用C的4.0版本呢?我们在对B的依赖声明中将C排除,然后显示的声明依赖C的4.0版本。
pom配置如下:
<dependencies><dependency><groupId>org.example</groupId><artifactId>project-b</artifactId><version>1.0.0</version><exclusions><exclusion><groupId>com.domain</groupId><artifactId>project-c</artifactId></exclusion></exclusions></dependency><dependency><groupId>com.domain</groupId><artifactId>project-c</artifactId><version>4.0.0</version></dependency>
</dependencies>
有的人可能发现了,其实没必要用什么exclusion,直接声明对project-c的依赖,根据最短路径原则,就会直接依赖project-c的4.0.0版本,确实存在这么个问题,但是使用了exclusion标签,其语义上会更明确。
如果上面的例子不足以说服你,那么下面这种情况,就真的需要使用exclusion标签了。
假如C项目是一个很强大的项目,拥有众多功能,但是我只需要用它的一部分,就可以满足项目需要了,如果C的强大功能是因为加载了众多依赖实现的,那么我们可以对C的依赖进行排除,只保留我们需要的部分即可。
Maven排除依赖exclusion用法相关推荐
- Maven 排除依赖jar包
当我们引入第三方jar包的时候,难免会引入传递性依赖,有些时候这是好事,然而有些时候我们不需要其中的一些传递性依赖 比如我们不想引入传递性依赖commons-logging,我们可以使用exclusi ...
- maven排除依赖包的子依赖_漫画谈一下Maven依赖
Maven 依赖排除(Exclusions) 因为 Maven 构建的项目具有依赖可传递的特性,当你在 pom.xml添加某个依赖时,可能也会引入不需要的依赖到你的项目中,这将会会可能引起如下问题: ...
- maven排除依赖冲突问题
今天碰到了一个诡异的问题. jedis版本原来用的是2.9.0,想要替换成3.0.1,涉及到父pom,搞了半天,试了各种办法,版本都改不过来. 项目依赖的始终是2.9.0,并且从当前pom到父pom, ...
- maven 排除某个类_Maven exclusions(排除依赖)
org.springframework spring-webmvc 2.5.6 org.springframework spring-beans org.springframework spring- ...
- maven可选依赖(Optional Dependencies)和依赖排除(Dependency Exclusions)
我们知道,maven的依赖关系是有传递性的.如:A-->B,B-->C.但有时候,项目A可能不是必需依赖C,因此需要在项目A中排除对A的依赖.在maven的依赖管理中,有两种方式可以对依赖 ...
- 【热门框架】Maven依赖传递,可选依赖以及排除依赖指的是什么?有什么意义?
Maven依赖传递是指当一个项目依赖另一个项目时,Maven会自动下载并构建这些依赖项,同时还会将这些依赖项所依赖的其他项一并下载并构建.这个过程会一直递归下去,直到所有依赖的项都被下载并构建完成.这 ...
- maven的依赖 传递性 和 排除
传递性: 模块A 依赖 模块1 模块B 依赖 模块A 则模块B 依赖 模块1(依赖会传递给B对应的jar包依赖会传递过来) 根据依赖的传递性只需要在底层模块配置依赖,上层模块也会自动添加依赖 依赖排除 ...
- maven依赖传递和排除依赖冲突
1 依赖的传递 假如 A项目 依赖 a.jar 1.0.1,b.jar 1.0.1,没有直接依赖c.jar 1.0.1,但是b.jar 1.0.1依赖了c.jar 1.0.1,可以说A项目间接依赖了c ...
- Maven可选依赖与排除依赖
可选依赖--指的是对外隐藏当前所依赖的资源(不透明) 可选依赖的作用:是隐藏所使用的依赖,用于控制当前依赖资源能否被别人发现 可选依赖的含义:当前工程所依赖的资源,不被其他项目所调用此依赖 pom文件 ...
最新文章
- 我记录网站综合系统 -- 技术原理解析[10:PermissionChecker流程]
- python项目2019_2019 年 11 月精选 GitHub 上 几个牛逼 Python 的项目
- C#操作Excel(NPOI)
- 解决Bazel:Error: LinkageError occurred while loading main class com.google.devtools.build.lib.bazel.
- java数组更新_java刷新数组到jList
- Winform 显示Gif图片
- hive 强转为string_String 源码浅析————终结篇
- [转载] python 字符串(string)
- java.lang.IllegalArgumentException: parameter must be a descendant of this view
- 20162306 2017-2018-1《程序设计与数据结构》 第11周学习总结
- oracle高级函数api,Oracle函数-高阶篇
- (第六周)团队项目6
- [转]enable spice html5 console access in openstack kilo(centos)
- 基于python生成手写的笔记
- 大数据技术与应用专业 课 程 标 准
- 快门光圈感光度口诀_只要三杯水,就能搞懂光圈/快门/感光度的关系!
- 「网络流 24 题」火星探险问题。
- 记一次某公众号平台前端加密算法的解密
- 校招c语言笔试题数组,华为校园招聘考试C语言C笔试题
- c#NAudio 录音功能实现