1.Maven之jar包冲突解决(理解maven 产生冲突的原因)

导致jar包冲突的原因
1、mvn的传递依赖特性:mvn编译打包除了会引入直接申明的依赖,还会引入间接申明的依赖

2、mvn的依赖仲裁规则:

1). 按照项目总控POM的DependencyManager版本声明进行仲裁。

2). 如无仲裁声明,则按照依赖最短路径确定版本。

3). 若相同路径,有严格区间限定的版本优先。

4). 若相同路径,无版本区间,则按照先入为主原则。

https://blog.csdn.net/qq_32600229/article/details/79208351

2.eclipse  maven排查jar包版本冲突

场景描述
有时候在pom中引入了新的jar包,由于maven会根据传递依赖,将该jar包依赖的其他jar包自动下载。因此,自动下载的jar包和已存在的jar包可能存在相同的jar包,但是版本不一致。此处就造成了冲突

排查方法
1、在命令行中,跳转到项目路径。
2、先清除,再重新安装:mvn clean install. 如果不想运行单元测试类,则运行命令:mvn -Dmaven.test.skip=true clean install 
3、查询依赖关系,并导入到名为tree.txt的文件中:mvn dependency:tree -Dverbose > tree.txt 
4、在tree.txt文件中搜索:conflict。如果存在,则有冲突jar包,需确定jar包版本,把不需要的jar包版本排除。

下图为tree.txt中存在冲突的jar包样例

补充:

eclipse  首先点击demo 项目 然后使用  ctrl +alt +t 打开eclipse cmd 窗口入下图:直接跳入到demo 本地目录中了。然后在之前上面提供的命令;

https://blog.csdn.net/cchengone/article/details/78295269?locationNum=5&fps=1

补充:https://www.jianshu.com/p/bbd5b0abcad1--命令方式建议参考

maven 检查依赖冲突和版本冲突

在项目发布的时候,一般都需要进行依赖冲突检查或者重复类的检查,这个时候我一般会使用下面的两个命令:

1

2

3

mvn -U clean package -Dmaven.test.skip=true enforcer:enforce -DcheckDeployRelease_skip=true -Denforcer.skip=false

mvn -U dependency:tree -Dverbose

dependency: tree是检查版本冲突的

enforcer:enforce是用来检查重复类的

简单地用 dependency:tree往往并不能查看到所有的传递依赖。不过如果你真的想要看所有的,必须得加一个 -Dverbose参数,这时就必定是最全的了。

全是全了,但显示出来的东西太多有时候会很烦,加上 Dincludes或者 Dexcludes,就会包含或者排除你指定的依赖了, dependency:tree就会帮你过滤出来:比如:

mvn dependency:tree -Dverbose -Dincludes=asm:asm 就会出来asm依赖包的分析信息。

https://www.cnblogs.com/adolfmc/p/6069983.html

3.Maven Idea查看解决jar包冲突

https://www.jianshu.com/p/a8a77d6262ed

4.Maven中 jar包冲突原理与解决办法(maven helper 插件)

https://blog.csdn.net/noaman_wgs/article/details/81137893

maven 解决冲突相关推荐

  1. Maven:解决jar包冲突和企业开发常用编写

    QUESTION:Maven:解决jar包冲突和企业开发常用编写 目录 QUESTION:Maven:解决jar包冲突和企业开发常用编写 ANSWER: 一:Maven的作用 二:解决jar包冲突: ...

  2. idea导入maven项目依赖报错_解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?

    1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的.Maven的依赖机制会导致Jar包的冲突. 举个例子,现在你的项目中,使用了两个Jar包,分别是A和B.现在A需要依赖 ...

  3. maven依赖冲突以及解决方法

    查看依赖冲突 # 通过dependency:tree是命令来检查版本冲突 mvn -Dverbose dependency:tree 其中omitted for duplicate表示有jar包被重复 ...

  4. maven依赖冲突解决_Maven依赖树–解决冲突

    maven依赖冲突解决 Maven Dependency Tree is very helpful in understanding the project dependencies and reso ...

  5. 如何解决Maven依赖冲突

    一.Java常见包冲突异常: AbstractMethodError NoClassDefFoundError ClassNotFoundException LinkageError 二.冲突分析 像 ...

  6. IDEA中解决 maven 包冲突

    IDEA中解决 maven 包冲突 idea 中解决maven 包冲突的问题(maven helper)

  7. 什么是Maven依赖冲突,如何解决Maven依赖冲突

    在解决冲突之前首先我们要知道什么是依赖冲突,这样可以更好的去锁定bug原因.下面通过一个代码示例来真正展示出依赖冲突. 目录 依赖冲突代码演示 1.添加依赖 2.观察依赖的层次结构 3.运行项目jra ...

  8. Maven依赖原则及如何解决Maven依赖冲突

    前言 在大数据应用中,现在发现依赖关系非常复杂,在上线之前很长测试,前一段时间在部署udf 出现了导致生产Hiveserver2 宕机问题,出现严重事故.现在就咨询研究一下.Maven虽然已经诞生多年 ...

  9. sts配置maven及Git使用(解决冲突)

    主要讲解四点: 1.物流项目整体分析(背景.业务场景.开发环境.技术) (了解) 2.STS(Spring Tool Suite).java开发工具.maven集成配置.Hbuilder页面开发 (掌 ...

最新文章

  1. Centos nginx 安装 源码方式安装
  2. Python 入门你要懂哪些?这篇文章总算讲清楚了
  3. 使用nginx后如何在web应用中获取用户ip及原理解释
  4. 第二章. node中的模块和require
  5. Elasticsearch索引的数据存储路径是如何确定的
  6. sar偏移量追踪技术_SAR指标配合阶段高低价的量化交易策略
  7. 迅雷赚钱宝变砖TTL修复教程赚钱宝刷机
  8. 计算机系统基础lab2(二进制炸弹实验)
  9. 15针VGA公头焊接示意图
  10. 2022 年度杭州未来科技城数字经济人才编程大赛
  11. 问界M7开启交付 邹市明成精英车主
  12. linux 命令详解 大于号_Linux 命令出现号(大于号)如何退出[组图]
  13. 【云驻共创】初探数通网络开放可编程
  14. PHP页面间参数传递
  15. nlp文本预处理构建词汇表
  16. Redmi K20 安卓9跨版本刷第三方ROM
  17. bzoj 2069 [ POI 2004 ] ZAW —— 多起点最短路 + 二进制划分
  18. 解读:电子合同四大理解误区
  19. RHEL 5.4 下安装和使用 ntop 全纪录(ntop:Linux下可通过Web访问的网络流量监控工具)...
  20. 【网页设计】期末大作业html+css(体育网站)--杜丹特篮球介绍8页 带报告

热门文章

  1. 玩转oracle 11g(3):配置监听
  2. Qt多线程编程的主要线程类
  3. 树莓派移植SX1278 LoRa通信--使用wiringPi 移植GPIO中断
  4. linux python安装教程_Linux系统如何安装Python?新手教程
  5. python netsnmp_python net-snmp使用
  6. put请求方式参数如何传_TP5请求(request)变量
  7. template标签_Django实战: 利用自定义模板标签实现仿CSDN博客月度归档
  8. python tornado对接权限中心的sdk封装
  9. hosts 文件与 ipv6
  10. python 一句话校验软件 hash值