首页文章正文

maven间接依赖使用类,maven子模块相互依赖

maven 2023-11-14 17:07 654 墨鱼
maven

maven间接依赖使用类,maven子模块相互依赖

⿊猴⼦的家:Maven的直接依赖和间接依赖如果A依赖B,B依赖C,那么A→B和B→C都是直接依赖,⽽A→C是间接依赖。依赖的范围当⼀个Maven⼯程添加了对某个jar包的依赖后,这个被idea插件一键解决maven依赖冲突10-19 本插件参考58开源插件MavenManager,采用dependencyManagement方式,一键解决Java开发过程中使用maven作为依赖管理时的jar包依赖冲突问题,相比M

最短路径原则A ->B ->C ->D(V1) F ->G ->D(V2) 假设test依赖于D,这时maven会采用最短路径原则,选择V2版本的D。因为V1版本的D是由A包间接依赖的,整个依赖路2. 需要手动解决的依赖冲突模块间的 、artifactId> 、version> 都不相同,但是引入的这些模块中具有相同路径的类(包名+类名完全相同),这个时候就需要我们自己去解决

直接依赖和间接依赖是一个相对的概念(3)因为有依赖传递的存在,就会导致jar包在依赖的过程中出现冲突问题,具体什么是冲突?Maven是如何解决冲突的?这里所说的依赖冲突是指项目依赖的默认情况下A工程jar包也会被加载到C工程,有时候我们不想使用B工程所依赖的A工程的jar 我们可以通过依赖配置,将B工程中对A工程jar排除调3.依赖排除配置c

如果A和B都依赖同一jar包C,可能会出现两种情况1.A和B引用的C版本相同,这时按照pom定义顺序选择第一个即可,没有冲突问题,如果在项目的maven中显示定义了C依赖,Maven仲裁机制原则1.依赖竞争时,越靠近主干的越优先。2.单颗树在依赖在竞争时(dependencies)(注意:不是dependencyManagement里的dependencies): 当deep=1,即直接依赖。同级是靠

≥﹏≤ 使用maven 最烦人的可能就是类包之间的版本冲突引发的问题了,类包冲突的一个很大的原因即产类包之间的间接依赖引起的。每个显式声明的类包都会依赖于一些其它maven会根据依赖声明的先后顺序,选择后声明的依赖版本;

后台-插件-广告管理-内容页尾部广告(手机)

标签: maven子模块相互依赖

发表评论

评论列表

蓝灯加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号