Maven依赖冲突解决之exclusions

解决maven依赖冲突,这篇就够了! 阅读详情

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>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.12</artifactId>
            <version>${spark.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.hadoop</groupId>
                    <artifactId>hadoop-client</artifactId>
                </exclusion>

                <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

在这里插入图片描述

【Maven】Maven依赖传递导致的依赖冲突以及解决方法(exclusions标签和dependencyManagement标签) 阅读详情

相关推荐

内网开发必备:银河麒麟V10离线安装全流程(含镜像挂载+yum源配置)

本文详细介绍了在内网隔离环境下,银河麒麟V10操作系统的离线安装与部署全流程。核心内容包括官方镜像的获取与校验、使用mount命令进行镜像挂载的详细步骤与问题排查,以及构建稳定、可维护的本地Yum软件仓库的完整方法论。通过实战案例演示了如何基于本地源部署LNMP环境,并提供了高级配置技巧与常见故障排除指南,旨在帮助运维人员系统性地构建高可用的内网软件供应链。

weixin_29268637的博客 560

Maven中exclusions用法

在一个项目中引入另一个maven项目依赖,通过依赖传递,会将jar包传递进来,如果不需要某个jar包就可以使用: <exclusions> <exclusion> <groupId></groupId> <artifactId></artifactId> </exclusion> </exclusions> <dependency> <gr...

飞乐鸟的博客 2万+

从数据校准到论文呈现:fsQCA与NCA方法融合的完整实证研究指南

本文详细介绍了fsQCA(模糊集定性比较分析)与NCA(必要条件分析)方法融合的完整实证研究流程,从数据校准到论文呈现。通过软件操作技巧、R语言NCA包高效使用及论文写作规范,帮助研究者避免常见误区,提升研究质量与可靠性。特别适合需要进行组态分析的研究生和学者参考。

weixin_29215391的博客 414

maven排除冲突Jar包exclusion标签应用

先来说说我遇到的问题,初用<exclusion>标签时,发现它不起作用。 解决方法: 1.找到要排除Jar的<groupId>和<artifactId>: 首先进入该链接:https://mvnrepository.com/artifact/org.springframework 2.修改pom文件,开始排除 : ...

金豆呀的博客 1万+

rv1126 读取sensor输入,输出到屏幕显示【RK_MPI API接口】

rv1126 libdrm VO

学习记录 1万+

《计算机网络》复试问答题总结

DNS 是一个联机分布式数据库系统,负责主机名和 IP 地址之间的转换,需要进行域名查询的机器主动发起域名解析请求,域名服务器则随时准备做出响应。域名服务器的数据库中存放着它所管辖范围的主机名和 IP 地址之间的映射表,域名服务器之间又可以相互联络和协作,以便分布在 Internet 各个域名服务器数据库中的域名都能被有效地搜索,从而实现主机名与 IP 地址的映射。为了提高解析效率,使用了域名缓存技术。在服务器、主机中设置一个专用的内存缓冲区。服务器用来存放近期解析过的域名及其对应的 IP 地址的映射。

weixin_45971154的博客 2029

Maven依赖排除(exclusion),查看依赖树(mvn dependency:tree),分析依赖项(mvn dependency:analyze)

在Maven项目中,如果你想排除某个依赖项的传递依赖(transitive dependency),即某个依赖通过其他依赖引入但你不希望它被包含在项目构建中,你可以直接在相关的元素内部添加一个子元素,并在其中定义元素来指定要排除的依赖。下面是一个基本示例:

宋冠巡的博客 1万+

ThunderScope开源示波器

4CH,1GSa/S 开源示波器。前端很简洁,BUF802+LMH6518,ADC是HMCAD1511,用Xilinx A7 FPGA进行控制,数据通过PCIE总线传输到上位机处理。目前这个项目已经被挂到了Xilinx官网,强。设计日志:https://hackaday.io/project/180090-thunderscope开源地址:https://github.com/EEVengers/ThunderScope。

leida_wt的博客 8191

maven里exclusion的应用,全网唯一准确概括

这样做可以确保您的项目使用的是 Hibernate 5.4.12.Final 版本,而不会受到团队中另一个项目 Hibernate 5.3.7.Final 版本的影响。这样做可以确保您的项目使用的是预期的 Tomcat 9.0.41 版本,而不会受到 Spring Boot 2.3.0 传递依赖的影响。通过这些步骤,您就可以成功地在实际项目中应用 Exclusion 技巧,解决 Hibernate 版本冲突的问题。假设您正在开发一个使用 Hibernate 的 Java 应用程序。

weixin_39304656的博客 2181

Python量化交易:主流回测框架Backtrader入门详解

Python量化交易框架Backtrader入门指南 Backtrader是一个功能强大的Python量化回测框架,可以帮助交易者专注于策略逻辑而非基础设施。本文介绍了Backtrader的核心架构和使用方法: 框架优势:自动处理订单执行、手续费、滑点、仓位管理等复杂问题,采用事件驱动模式接近真实交易场景。 核心组件: Cerebro:控制中心 Strategy:交易策略 Data Feed:数据输入 Broker:模拟经纪商 Indicators:技术指标 使用流程: 安装:pip install bac

Science prince的博客 935

京东豆自动领取脚本配置教程

腾讯云/阿里云服务器(Docker环境):全自动跑脚本领京豆(无需本地代理,使用加速源)

AIOT魔法师 859

maven中的Exclusions标签详解

当中如果A依赖B,那么A当中就间接的依赖的C,如果要求A不需要依赖C,这个时候该标签的作用就使用到了。A依赖B,B依赖C,在。

IT枫斗者的博客 3655

【HOJ系列】HOJ判题机部署

【HOJ系列】HOJ判题机部署

随风浪仔的专栏 903

[1120]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,这时候为了保证程序能够顺利操作hadoo

周小董 2568

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java学习笔记之二:Maven中依赖使用exclusions设置,来解决依赖冲突

Maven中依赖使用exclusions设置,来解决依赖冲突

mxg1120的博客 6934

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

一次讲清:maven中的scope、依赖传递、依赖冲突解决、type、classifier、exclusions、optional

scope解释的原文: compile This is the default scope, used if none is specified. Compile dependencies are available in all classpaths of a project. Furthermore, those dependencies are propagated to dependent projects. provided This is much like compile, but...

haoranhaoshi的博客 1475

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

maven依赖冲突时,其中被默认抛弃的依赖可能会导致程序问题,使用exclusions标签处理即可

对于B的引入:直接使用最短路径优先原则,因为pom中有一个B 2.2,直接引入B 2.2.抛弃B 1.1和c 1.1.前提:(如下,每个字母代表一个依赖包,箭头表示依赖关系)先在a中排除a依赖的b 1.1,再在外部引入b1.1。为了A能够正常运行,使用exclusions标签。

ay_1022的博客 304

是时候装逼了,试试 IDEA 解决 Maven 依赖冲突的高能神器!

点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创 | Java 2020超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网...

weixin_44421461的博客 124

赶快试试 IDEA 解决 Maven 依赖冲突的高能神器!

来源 |segmentfault.com/a/11900000175423961、何为依赖冲突Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的。Maven的依赖机制会导致J...

JAVA葵花宝典 303

Maven依赖冲突解决

Maven 是 Apache 软件基金会唯一维护的一款自动化构建工具,专注于服务Java平台的项目构建和依赖管理。

m0_60388241的博客 1354

又出现依赖冲突?试试 IDEA 解决 Maven 依赖冲突的高能神器!

以下文章来源方志朋的博客,回复”666“获面试宝典1、何为依赖冲突Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的。Maven的依赖机制会导致Jar包的冲突。举个例子,现在你...

方志朋的博客 389

碰到Maven依赖冲突脑壳疼?这个工具了解一下

Java面试笔试面经、Java技术每天学习一点公众号Java面试关注我不迷路作者:桔子214032来源:https://segmentfault.com/a/11900000175423...

java面试笔试 172

JAVA中依赖冲突原因解析以及解决思路

1.依赖冲突原因详解 依赖冲突的根源是Maven的依赖机制会导致Jar包的冲突。举个栗子,在我们目前的项目中使用了A和B两个Jar包,A包在依赖中依赖了C包,而B包在依赖中也同时依赖了C包,但是A包依赖的C的版本的1.0,B依赖C包的版本是2.0。此时,我们的项目中就出现了1.0.和2.0两个版本的C包,此时Maven会依赖路径最短优先原则,来决定使用哪个版本的Jar包,而另外一个无用的Jar包...

codeMagic崔的博客 4230

解决Maven依赖冲突的好帮手,必须了解一下!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 | 桔子214032来源 |http://suo.im/6brHfY1、何为依赖冲突Maven是个...

程序猿DD 1254

还在苦恼 Maven 依赖冲突,这款 IDEA 插件帮你解决!

戳上方蓝字“Java笔记虾”关注我1何为依赖冲突Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的。Maven的依赖机制会导致Jar包的冲突。举个例子,现在你的项目中,使用了两个Jar包,分别是A和B。现在A需要依赖另一个Jar包C,B也需要依赖C。但是A依赖的C的版本是1.0,B依赖的C的版本是2.0。这时候,Maven会将这1.0的C和2.0的C都下载到你的项目中,这样你的项目中就...

Java笔记虾 291
上一篇: Scala高级语法总结(二)匹配模式match case
下一篇: Maven 打包忽略依赖<scope></scope>
闻香识代码
博客等级 码龄12年 314粉丝 223原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值