Maven依赖冲突解决之exclusions

本文介绍了在Java开发中使用Maven时遇到的依赖冲突问题,特别是当hadoop和spark-core版本不一致导致的冲突。通过详细阐述背景和解决方式,解释了如何利用Maven的exclusions功能排除特定版本的依赖,以确保项目正常运行。
摘要由CSDN通过智能技术生成

Maven依赖冲突解决之exclusions

1. 背景

  1. 作为java生态下开发者,往往需要使用大量线程的第三方库,一般都是以jar包形式存在。
  2. maven作为事实上主流的jar包依赖管理工具,Idea和Eclipse都支持创建maven工程来管理jar包依赖。
  3. 使用maven进行jar包依赖管理时,maven会自行管理jar包及其依赖链条,但往往会遇到依赖冲突问题,这时候就可以尝试使用exclusion来进行依赖管理。

2. 解决方式

  1. 场景
    在这里插入图片描述
    假如hadoop集群中hadoop版本是3.2.1,这时候为了保证程序能够顺利操作hadoop,需要引入hadoop-client的3.2.1版本。但这里也可以看到,spark-core_2.12内部也有对hadoop-client的依赖,而且版本是低版本的2.7.4,这时候往往就会产生冲突或者未知错误。所以需要使用exclusions做依赖排除。

  2. 解决方式
    使用exclusions来对某一个第三方库引入的依赖jar包做排除

<dependency
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值