Maven可选依赖与排除依赖

可选依赖用于隐藏当前工程的依赖,不希望其他项目发现,通过在POM文件中设置<optional>true</optional>来实现,不具有依赖传递性。排除依赖则是在引入其他功能包时,不需要其内部的特定依赖,通过<exclusions><exclusion>标签进行排除。两者的区别在于使用场景,可选依赖保护被调用者的依赖,排除依赖由调用者决定不使用某些依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可选依赖——指的是对外隐藏当前所依赖的资源(不透明)

可选依赖的作用:是隐藏所使用的依赖,用于控制当前依赖资源能否被别人发现

可选依赖的含义:当前工程所依赖的资源,不被其他项目所调用此依赖

pom文件引入可选依赖示例(隐藏)

可选依赖配置:只要在引入的依赖的坐标之后添加一个双标签<optional>,里面写true表示隐藏当前依赖所引入的资源,隐藏后不具有依赖的传递性。默认为false

代码示例

  1. <!--隐藏当前工程所依赖的资源,隐藏后对应资源不具有依赖传递性-->

  2. <optional>false</optional>

排除依赖——指的是主动断开依赖资源,相当于不需要某种依赖(不需要)

可选依赖的作用:不需要引入包中的某种依赖的时候,用于是否需要

排除依赖的含义:当前工程引入了其他功能包,不需要其他包中的某种依赖,作用是排除。

pom文件引入排除依赖示例(不需要)

 

排除依赖配置:需要在引入的依赖下方添加双标签<exclusions>中添加<exclusion>添加(可添加多个)需要排除依赖的坐标(无需指定版本,只需要坐标的GA直接排除依赖的所有版本)

两者的区别在于:

可选依赖一般用于被调用者(依赖不想被看到),而排除依赖一般用于调用者(不想使用这个依赖或者这个版本的依赖),主要是调用者与被调用者的区别
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值