maven dependence 的optional 和 exclusions 标签详解
1.简介
- Optional:可选依赖(Optional Dependencies)
- Exclusions:依赖排除(Dependency Exclusions)
2.Optional
举个例子,现在我有两个项目,ProjectA 和 ProjectB,ProjectA依赖于ProjectB,但是却是用到了ProjectB的很少一部分功能,此时就可以在A中配置对B的可选依赖。举例来说,一个类似hibernate的项目,它支持对mysql、oracle等各种数据库的支持,但是在引用这个项目时,我们可能只用到其对mysql的支持,此时就可以在这个项目中配置可选依赖。
配置可选依赖的原因:
- 节约磁盘、内存等空间;
- 避免license许可问题;
- 避免类路径问题,等等。
伪代码如下:
<dependency><groupId>ProjectB</groupId><artifactId>Project</artifactId><scope>compile</scope><optional>true</optional></dependency>
3.Exclusions
现在我有三个项目,ProjectA 、ProjectC 和 ProjectB,ProjectA 依赖于 ProjectB ,ProjectB 依赖于 ProjectC ,但是ProjectA 不想依赖ProjectC,那么我们就可以在 ProjectA中 使用exclusion来排除ProjectA对ProjectC的依赖:
<dependency><groupId>ProjectB</groupId><artifactId>Project</artifactId><scope>compile</scope><exclusions><exclusion><groupId>ProjectC</groupId><artifactId>Project</artifactId></exclusion></exclusions></dependency>
maven dependence 的optional 和 exclusions 标签详解相关推荐
- maven中的Exclusions标签详解
解释 exclusion 标签 1 这个标签的作用是排除关联依赖的引入,因为maven的pom依赖其中有一点是将关联的依赖全都引入进来 2 这个标签在这的作用就是 如果关联的依赖和引入的其他依赖可能存 ...
- maven中强大的scope标签详解
maven中强大的scope标签详解 本文目的 接上一篇maven的版本号version的总结及理解 当我在封装工具jar包的时候,发现有些依赖,是一定要在工具代码里使用的,比如我做的工具包里 ...
- HTML marquee标签详解
HTML marquee标签详解 在论坛默认的编辑状态下,我们可以通过UBB语法的move和fly语句让对象动起来,但功能很简单,只是平行地移动.而我们使用HTML的Marquee语句则可以产生更多的 ...
- 前端基础-HTML的的标签详解
阅读目录 一.head内常用标签 二. HTML语义化 三. 字符实体 四. h系列标签 五. p标签 六. img标签 七. a标签 八. 列表标签 九. table标签 十. form标签 一. ...
- W3C中meta标签详解
2019独角兽企业重金招聘Python工程师标准>>> meta是html语言head区的一个辅助性标签.几乎所有的网页里,我们可以看到类似下面这段的html代码: <meta ...
- HTML基本标签详解与运行截图
Web前端基础修炼 HTML基本标签详解与运行截图 CSS基本操作详解及截图演示 JavaScript基础(ECMAScript) JavaScript中DOM操作 JavaScript中BOM操作 ...
- JSF标签详解(全)
转自:https://wenku.baidu.com/view/82b84b255901020207409c87.html :https://blog.csdn.net/qq_36411874/art ...
- SEO技巧:Meta标签详解
网页设计:Meta标签详解 您的个人网站即使做得再精彩,在"浩瀚如海"的网络空间中,也如一叶扁舟不易为人发现,如何推广 个人网站,人们首先想到的方法无外乎以下几种: ●在搜索引擎中 ...
- java foreach标签_Java中Velocity foreach循环标签详解
Java中Velocity foreach循环标签详解 Java Velocity中foreach循环可以很容易的遍历数组或者集合. 定义 #foreach( $elem in $allElems) ...
最新文章
- 单目和双目模式识别---游戏控制
- 解决Ubuntu spyder 无法输入中文
- Oracle之用户操作
- 「offer来了」进程线程有啥关系?10个知识点带你巩固操作系统基础知识
- DOS状态下可以安装Win XP
- linux给文件添加链接,Linux给文件或目录创建软链接或硬链接的方法
- 540s inter 固件,纠结也无济于事了,Intel发布采用TLC闪存的540s系列SSD
- android 通过图片url获取宽高_通过 URL 获取图片宽高优化
- Oracle 归档模式
- 安装tif虚拟打印机
- 全新版本的SoundSource for Mac 优质的音频控制软件
- file标签选择文件change事件失效处理方法
- GIS和开源见解(摘录)
- C#中取得汉语拼音首字母
- C中error的使用
- Rider编译UE5项目RD报错
- (Python)实现对非人脸图片的清洗
- 领导者核心能力七力模型
- 碳中和目标下A股先锋调研:钢铁行业加速碳达峰 多行业影响已现
- HCIP/HCIE RoutingSwitching / Datacom备考宝典系列(九)STP知识点全面总结(生成树协议)
热门文章
- python利用itchat接口和pyecharts包进行数据可视化
- 如何安装Win10与Ubuntu16.04.5LTS
- 炒股的智慧-三则小故事
- POJ2229 [USACO05 Jan] Sum sets 递推(dp)
- UE4打包(烘焙)错误 CSC : error CS2012: Cannot open '...BuildGraph.Automation.dll' for writing '...'
- npm 与 package.json 快速入门教程
- vue 一个页面根据状态渲染不同的组件 使用currentView动态渲染
- Java中sort实现降序排序
- CSP 20141201 门禁系统
- 【C语言】C语言数据类型