maven 解决冲突

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/423320.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jz2440开发板修改UBOOT支持NAND FLASH

很多天没有看嵌入式的东西了,今天来看一下,继续之前移植uboot到jz2440开发板。今天我们来实现Uboot支持NAND FLASH。 在之前的文章里(点击连接查看之前的记录),我们为了编译通过把NAND FLASH 给屏蔽掉了,现…

i.MX6网卡驱动程序fec.c的分析(AR8035网卡驱动程序的详细分析)之一

学习交流加 个人qq: 1126137994个人微信: liu1126137994学习交流资源分享qq群: 962535112 因为做的项目需要用到ethercat主站,而用ethercat主站,标准的网卡网络协议栈性能就无法达到要求,需要根据ethercat官…

TOAD常用快捷键

现在在企业中,操作oracle数据库的客户端,除了PL/SQL外,使用的较多的就是TOAD了! 为此,我在网上搜索了下,整理了些简单TOAD的使用技巧,现分享给大家。 常用快捷键: F8 调出以前执行的…

i.MX6网卡驱动程序fec.c的分析(AR8035网卡驱动程序的详细分析)之二

学习交流加 个人qq: 1126137994个人微信: liu1126137994学习交流资源分享qq群: 962535112 今天接着分析上次没有分析完的i.MX6网卡驱动程序。上一篇分析了iMX6网卡驱动程序的driver与device的加载过程(点击可以查看上一篇文章&…

文档视图

IntelliFMEA是从IntelliQMS项目的子项目,可单独发布。在IntelliQMS中的APQP插件设计了一个更为完整的项目管理。在IntelliFMEA中的项目管理只是对FMEA有关的文档进行管理的一种方式。IntelliFMEA文档视图的工作方式是:1. 浏览和级联显示IntelliFMEA当前项目的文档清…

阅读ethercat官方文档关于ethercat网卡驱动程序的一些内容

学习交流加 个人qq: 1126137994个人微信: liu1126137994学习交流资源分享qq群: 962535112 改造iMX6(fec)网卡驱动程序前期工作之:阅读ethercat-1.5.2.pdf文档的第四章内容。 ethercat-1.5.2.pdf文档链接&a…

事务和锁

事务和锁 事务的定义 事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。 事务…

数据库表的字段中含空格怎么办?

数据库建表: create table t1203 ("ha ha" varchar(100));查询语句:select "ha ha" from t1203;插入数据:insert into t1203("ha ha") values(hello world);其他类似.... 转载于:https://www.cnblogs.com/s…

jz2440开发板移植U-boot之修改代码支持DM9000网卡

今天我们来移植U-boot到jz2440开发板,修改代码支持DM9000网卡。查看之前写的移植记录请点击链接:点击查看之前的移植记录 现在大多数开发板都支持DM9000网卡。我们的U-boot源码里面也是有DM9000网卡的驱动程序的。文件为Dm9000x.c(drivers\n…

利用Lombok编写优雅的spring依赖注入代码,去掉繁人的@Autowired

1.引入Lombok 视频教程 https://www.projectlombok.org 2.Lombok jar 下载地址 https://plugins.jetbrains.com/plugin/6317-lombok-plugin 3.大家平时使用spring依赖注入,都是怎么写的? Service public class OrderService { Autowired private Us…

99%与100%

一个表格可以正常的显示,也就是有所有的边框,可是打印的时候却没有右边框。相对来说这个表格比较复杂,首先他有headgroup footgroup也就是在打印的时候分页打印并显示多行表头用的,所以在css上下了一些功夫。可是上边说的问题怎么…

移植U-BOOT之裁剪和修改默认参数(易用性)启动内核,以及对uboot进行分区

今天我们来裁剪U-BOOT,使其更加易用,修改默认参数,以及制作最终修改好得补丁文件方便以后的快速移植。 那么如果想看之前的关于网卡以及flash等的移植,请点击链接查看:点击链接查看 在裁剪修改之前呢,我们…

移植U-BOOT之支持烧写YAFFS文件系统以及制作U-BOOT补丁

今天,我们来移植U-BOOT让其支持YAFFS文件系统映像的烧写,以及最后的终极目标,制作Uboot补丁,因为我们信心苦苦移植好了Uboot,如果换一个地方的或者换一台电脑之类的,我们也不想再浪费时间从头开始移植&…

PHP字符串函数大全

PHP字符串函数大全 AddSlashes: 字符串加入斜线。 bin2hex: 二进位转成十六进位。 Chop: 去除连续空白。 Chr: 返回序数值的字符。 chunk_split: 将字符串分成小段。 convert_cyr_string: 转换古斯拉夫字符串成其它字符串。 crypt: 将字符串用 DES 编码加密。 echo: 输出字符串…

SpringBoot 使用教程

SpringBoot系列一:SpringBoot入门Spring Boot基础教程 ( 五 ) :构建 RESTful API 与单元测试Spring Boot基础教程 ( 四 ) :Spring Boot 属性配置文件详解Spring Boot基础教程 ( 三 ) :使用 Cloud Studio 在线编写、调试和管理 Spr…

【数据结构学习之完全从零实现所有数据结构的代码编写之一】泛型编程简介

学习交流加 个人qq: 1126137994个人微信: liu1126137994学习交流资源分享qq群: 962535112 今天开始系统性学习数据结构内容,之前也看过大话数据结构这本书,对大多数概念以及数据结构都有一定的了解,但是就是…

javascript tabIndex属性

tabIndex 的用处很简单,就是利用tab键遍历页面的表单元素和链接,按照tabindex的大小决定顺序。虽然微不足道,但细节处见真功夫,这是任何一个WEB应用应当具备的亲用力,保证用户在没有鼠标的情况下(如WAP&…

zookeeper 安装和使用

1.Windows安装和使用zookeeper 之前整理过一篇文章《zookeeper 分布式锁服务》,本文介绍的 Zookeeper 是以 3.4.5 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单&#xf…

【移植Linux 3.4.2内核第一步】之简单修改

前一阵子已经将U-boot移植好了,从今天开始,我们开始移植linux内核。移植的内核为3.4.2,移植的开发板为:jz2440开发板。 想看之前移植U-boot的记录,可以查看我的博客专栏,点击链接:点击查看U-bo…

HBase 2.0版本正式发布

1.HBase 2.0版本正式发布 关于HBase版本定义 HBase从1.0.0版本开始,在版本定义上正式遵循了Semantic Versioning规范: 一个版本号,由三部分组成: MAJOR.MINOR.PATCH,关于这三部分数字的变更,定义如下&am…