快速查找并解决Maven项目依赖包的冲突问题

小微 科技快速查找并解决Maven项目依赖包的冲突问题已关闭评论139字数 558阅读模式
摘要Maven中的包的依赖冲突是很容易发生的,尤其是在一个长期维护的切复杂的项目中,如果你跟我一样发现了本地仓库中存在多版本冲突问题,那么恭喜你,你的项目可能要崩.Maven默认的依赖...

Maven中的包的依赖冲突是很容易产生的,特别是在一个长时间保护的切繁杂的项目中,如果你跟我同样发现了本地仓库中存在多版本冲突问题,那么恭喜你,你的项目可能要崩.

Maven默许的依赖机制是顺序依赖,也就是说在低版本包被加载以后,高版本就是检测到也不会去鸟它.文章源自微观生活(93wg.com)微观生活-https://93wg.com/11525.html

来张图说明一下关系.文章源自微观生活(93wg.com)微观生活-https://93wg.com/11525.html

项目X引入Y,G包,Y,G包又单独依赖了Z包,版本冲突问题来了.文章源自微观生活(93wg.com)微观生活-https://93wg.com/11525.html

如果想用Z2.0的包,那么就要保证G包的加载要在Y以前,这类做法是最简单直接的了.文章源自微观生活(93wg.com)微观生活-https://93wg.com/11525.html

但问题是怎么快速的发现这种问题从而提早防止相似的过错呢?文章源自微观生活(93wg.com)微观生活-https://93wg.com/11525.html

我去Maven官网翻了半天,发现个号东西:文章源自微观生活(93wg.com)微观生活-https://93wg.com/11525.html

Enforcer: https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html文章源自微观生活(93wg.com)微观生活-https://93wg.com/11525.html

这款插件可以快速帮咱们分析POM文件中的依赖冲突,配置方式很简单.它会把所有依赖关系强行收敛到相同的版本.文章源自微观生活(93wg.com)微观生活-https://93wg.com/11525.html

可以通过maven enforcecer: enforce来查看冲突,例如:文章源自微观生活(93wg.com)微观生活-https://93wg.com/11525.html

结论文章源自微观生活(93wg.com)微观生活-https://93wg.com/11525.html

包依赖冲突的问题或许不会立刻暴露出来,但咱们要知道有这类问题.

这里也只是提出了一种解决方案,留个标记.

以上就是微观生活(93wg.com)关于“快速查找并解决Maven项目依赖包的冲突问题”的详细内容,希望对大家有所帮助!

 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/11525.html