-
第三方jar包冲突怎么解决
2017-12-10 19:54:11对于Jar包冲突问题,我们开发人员经常都会有碰到,当我们使用一些jar包中的类、方法等,或者有时遇到一些日志系统的问题(参考另一篇文章Jar包冲突导致的日志问题),我们会遇到ClassNotFoundException,...对于Jar包冲突问题,我们开发人员经常都会有碰到,当我们使用一些jar包中的类、方法等,或者有时遇到一些日志系统的问题(参考另一篇文章Jar包冲突导致的日志问题),我们会遇到ClassNotFoundException,NoSuchFieldException,NoSuchMethodException 之类的运行时异常,从经验上我们就会判断,Jar包冲突了。解决Jar包冲突问题,每个人都有每个人的方法,这里我介绍一下我的方法,供大家参考。
处理方法
当遇到jar包冲突时,我们首先确定是哪个jar包冲突了,这个很容易,看我们调用的类或方法,是属于哪个Jar包。然后就是要找出冲突了,我这里使用命令
mvn dependency:tree -Dverbose -Dincludes=<groupId>:<artifactId>
填写上Jar包的groupId和artifactId,可以只有一个,但是中间的冒号不要少,这样就会输出依赖树,而且是仅包含这个Jar包的依赖树,这样那些地方依赖了这个Jar包的那个版本就一目了然了。
例如,我的项目中notify-common包存在冲突,我们使用命令mvn dependency:tree -Dverbose -Dincludes=:notify-common
得到依赖树输出[INFO] com.taobao.wlb:bis-server:war:1.0-SNAPSHOT [INFO] +- com.taobao.wlb:bis-core:jar:1.0-SNAPSHOT:compile [INFO] | \- com.taobao.logistics:schedule-client:jar:1.1.1:compile [INFO] | \- (com.taobao.notify:notify-common:jar:1.8.15:compile - omitted for conflict with 1.8.19.26) [INFO] \- com.taobao.notify:notify-tr-client:jar:1.8.19.26:compile [INFO] +- com.taobao.notify:notify-common:jar:1.8.19.26:compile [INFO] \- com.taobao.notify:notify-remoting:jar:1.8.19.26:compile [INFO] \- (com.taobao.notify:notify-common:jar:1.8.19.26:compile - omitted for duplicate)
看一下依赖树中所有的叶子节点就是所有的notify-common包,我们可以看到我们依赖的bis-core中依赖了schedule-client包,它依赖了一个notify-common包,版本是1.8.15,第四行的后面也提示了这个包同其他包有冲突
- omitted for conflict with 1.8.19.26)
。而我们的系统依赖的notify-tr-client包所依赖的版本是1.8.19.26,于是我们知道是这里冲突了,在POM排除掉依赖,OK了。说明
这里我们对我们执行的命令做一个简单的说明。
mvn dependency:tree -Dverbose -Dincludes=<groupId>:<artifactId>
第一部分mvn dependency:tree
是maven依赖的分析命令,作用是对我们的项目的依赖进行分析,并输出项目依赖树
第二部分-Dverbose
的作用是添加了verbose一个环境变量,起的作用是在分析项目依赖时输出明细,这样项目中依赖的所有引用都会被输出出来,包含了所有的间接引用,会有很多很多,我们只需要我们要找的,所以就需要第三个参数了第三部分
-Dincludes=<groupId>:<artifactId>
的作用就是进行过滤,只包含我们想要的依赖的依赖时,排除掉其它不需要的,依赖树的所有叶子节点就是我们的找的依赖包。其中的groupId和artifactId可以只填写一个,为了保证准确性,一般都会填两个(填写时不包括尖括号)。其他方法:
1、对于maven工程,我的办法是使用eclipse来解决,点开pom.xml,切换到hierarchy dependency,右上角搜索对应的包,可以清晰地看到冲突版本
2、可以使用idea,在pom.xml中右单击 选择Diagrams-》show dependencies
3、mvn dependency:tree -Dverbose > tree.log
直接输出冲突的jar文件 -
两个js都用到了enter事件的监听突然发现有冲突,怎么解决?
2015-12-28 06:33:20求解如何解决这一冲突问题,当在一个页面时都可以触发。 下面是function: /**ENTER 事件触发搜索**/ document.onkeydown=function(event){ var e = event || window.event || arguments.callee.caller.... -
unity中怎么做河流_当在感情中遇到了困难,我们应该怎么做才能避免分手?
2020-12-30 00:26:02我们都在寻找一段健康的恋情,互爱平等是每个人都在追求的,感情的事情,谁也不知道未来会发生什么,但是只要抱着正向、...1.情绪过激,不懂得从自身找问题 两个人在发生冲突时,解决的方式都是不同的,不懂得控...我们都在寻找一段健康的恋情,互爱平等是每个人都在追求的,感情的事情,谁也不知道未来会发生什么,但是只要抱着正向、积极的心态,愿意去处理矛盾,就不害怕有什么坎坷。
当你在感情中也遇到了困难,我们应该怎么做才能避免分手、化险为夷呢?以下这几点,希望在你的感情中不要出现。
当在感情中遇到了困难,我们应该怎么做才能避免分手?
1.情绪过激,不懂得从自身找问题
两个人在发生冲突时,解决的方式都是不同的,不懂得控制自己的情绪,往往会伤害对方,“一点火就着”是很多家庭间的现状,不愿意好好的沟通,也不愿意从自己身上找问题,双方闹矛盾的时候,僵持不下,往往会因你的坏情绪而两败俱伤,最终分手。
能够懂得控制情绪,不仅可以有效沟通,也是情商高的表现,在双方有了问题之后,能够静下心来,面对面的交流,才能避免矛盾深化,减少对这段感情的磨损。
2.需求感过高,给对方造成负担
感情最好的状态是互相成长,彼此信任,因为需求感过高,外界的交往圈子很少,把重点放在伴侣身上,以对方为中心,围绕对方转,做什么事情总是很顺从,就要仔细思考你的感情定位了。
为什么要抓的如此紧呢?因为你太害怕失去对方了,所以你变得越来越患得患失,逐渐的丢失了自我,也缺失了对对方的信任,,让对方在这段感情中感觉到深深的负担,甚至喘不动气,没有了私人空间。你的所作所为让这段感情受到了无形伤害,逐渐走到分手的地步。
总是把感情看得太重,但是却忽略了生活不仅只有感情,将对方捧得很高,自己却很低,这也是对自己的一种不尊重。
3.不愿迁就,缺少情感投入
感情缺少不了包容和理解,如果你不愿意迁就对方,一点小事都容易激起你对伴侣的嫌弃和无法忍受,其实这就是缺少感情投入的表现,真的爱对方是懂得包容理解的,而不是整天以“能行就处,不行就分”的想法,你幻想说不定只是遇到了错的人,但其实遇到哪一个伴侣,如果你不及时调整自己,最后都是分手告终。
能够懂得包容对方,并愿意等待对方成长,才会获得双赢的爱情,每个人都是需要在恋情中不断成长学习的,如果不给予双方机会,就不会有未来。
感情中的问题多种多样,有时候很多人觉得这都是小问题,可是小问题往往造成大威胁,最终导致分手。应该如何挽回呢?
1.积极反思,提高情绪管理
在双方分开之后,首先要做的就是反思自己在这段感情中的问题所在,自身的问题在感情分裂中分占的比重是多少,对对方造成了什么样的影响,另外提高自己的情绪管理,在外受到的压力,通过正常的发泄方式,而不是将坏情绪带给身边的人,“有话好好说”,平衡好心态,学会心平气和的沟通问题,避免情绪过激,才能将问题解决
-
移动端内容显示在一页时,虚拟键盘输入与position:fixed的冲突问题解决
2019-02-01 16:23:49这下苦了我们了,固定定位怎么解决啊,我们会经常遇到固定标题栏、固定工具栏等情况啊!! 比如在ios系统中,获取input焦点时,会导致position: fixed失效,下面是我验证过的方法,解决的是在iPhone6真机测试时,当...在话说iphone很先进,但就是不支持position:fixed。这下苦了我们了,固定定位怎么解决啊,我们会经常遇到固定标题栏、固定工具栏等情况啊!!
比如在ios系统中,获取input焦点时,会导致position: fixed失效,下面是我验证过的方法,解决的是在iPhone6真机测试时,当input输入框输入内容时,手机的软键盘会将页面的整体向上顶起一块,当输入完成后,页面不会重新返回初始位置,所以当点击使用position:fixed定位的按钮时,会出现点击失效问题。
解决方法:给input输入框添加一个失去焦点事件 程序:$("#mobile").blur(function(){ document.documentElement.scrollTop=0; document.body.scrollTop=0; }) 说明:mobile:是input输入框的id
-
ListView触摸事件和Item点击事件冲突解决方法
2016-03-15 19:10:12遇到过类似问题的人一看题目就应该知道我所说的问题是什么。但还是举个例子: 一个页面,可下拉刷新,有listview。当你触摸listview去下拉的时候,以松手,哎呀?!怎么自己跳item点击了。下面说一下解决办法。这种...遇到过类似问题的人一看题目就应该知道我所说的问题是什么。但还是举个例子:
一个页面,可下拉刷新,有listview。当你触摸listview去下拉的时候,以松手,哎呀?!怎么自己跳item点击了。下面说一下解决办法。这种问题一般是我们在重写ListView的onTouchEvent方法时:
@Override public boolean onTouchEvent(MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_DOWN : // ... break; case MotionEvent.ACTION_MOVE : if (...) { . . . return true; } break; case MotionEvent.ACTION_UP : // ... break; } return super.onTouchEvent(ev); }
问题就出在我们的逻辑处理中 直接return true了,没有执行
super.onTouchEvent(ev);
这个方法里处理了触摸和点击的冲突问题。
所以我们只需要在return true前加上:
super.onTouchEvent(ev);
就OK啦~
有问题欢迎提出
-
mysql数据库老是被锁怎么解决_mysql数据库锁的产生原因及解决办法
2021-01-19 06:49:03数据库和操作系统一样,是一个多用户使用的共享资源...在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严 重影响应用的正常执行。在数据库中... -
数据库会死锁吗,举一个死锁的例子,MySQL怎么解决死锁。
2019-06-09 00:57:26数据库和操作系统一样,是一个多用户使用的共享资源...在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严 重影响应用的正常执行。 在数据库... -
adb与appium端口冲突
2018-11-07 00:22:22遇到一个问题,就是在运行appium时,再从中调用adb命令,会提示adb的端口冲突,导致appium的server停止这个错误,想问下大佬们,这个冲突怎么解决呢。因为appium的server就是通过adb开启的,所以当server开启后就会... -
服务器上 Serv-U 密匙冲突
2011-09-14 14:18:01Serv-U 密匙冲突,Serv-U...因为大家用的密匙一般都是同一个,当同一网段有相同的密匙时就会有冲突,所以就会出现这样的问题。 怎么才能解决这个问题? 前面之所以出现密匙冲突问题,就是因为在同一个网段。... -
(C语言)在二叉搜索树的学习时遇到了问题,求大佬帮忙看看
2019-05-21 12:59:38如题,在学习二叉搜索树时想要自己添加一些内容,但是不知道为什么就是会出错,自己感觉好像问题出在创建二叉树的地方,但是不知道怎么改.希望大佬能帮忙看看,如果能配上讲解就更好了,感谢. 下面贴上代码,之后是罗列... -
AlertDialog与Edittext冲突问题!急急急 !!大佬们戳进来看看
2017-09-13 09:01:03场景: 点击按钮-请求数据-成功后显示alertdialog(alertDialog中包含一个AutoCompleteTextView用于筛选结果,recycleview...该怎么解决?急急急!!! 使用了clearFlag()的方法去掉alertdialog不让弹输入法的设置。 -
关于使用git bash时出现vim
2017-12-27 14:22:41偶尔出现冲突就解决解决冲突,遇到没出现过的问题就上网搜一搜。 刚刚出现了一个之前也出现过的问题,当我运行git commit指令时,控制台跳转进了一个奇怪的编辑页面,如下图。 之前不知道那是什么东西,不知道... -
EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)...
2018-01-14 21:48:00但遇到一个比较棘手的问题,当用easyui Tabs打开一个iframe页面时,怎么解决原有共用静态资源引入的问题。有人建议可以考虑将共用静态资源文件放到一个php文件中,然后每次渲染页面时加载即可,这个时候很多朋友会... -
同类型为什么要强制转换(自己强转成自己)/ASP.NET Web程序重复引用(引用来自同一文件)问题(已解决)?
2018-12-13 06:07:04这个目录的作用,是存放那些需要动态修改的代码(我的理解就像asp),这个目录下的代码,是以源码形式存在于项目中,等到访问时才进行编译(这也解释了为什么我遇到的这个错误,编译可以通过,但是运行时会报错)。... -
您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。拒绝访问解决方法
2010-07-13 14:37:44我们可能还会遇到另外一个问题,即当用户的口令为空时,即使你做了上述的所有的更改还是不能进行登录,访问还是会被拒绝。这是因为,在系统“安全选项”中有“账户:使用空白密码的本地账户只允许进行控制台登录”... -
RecyclerView嵌套问题
2017-10-13 16:32:34当我们布局遇到一些复杂的布局时,或是一些特殊要求的布局时,会用到RecyclerView嵌套RecyclerView或者ScrollView嵌套RecyclerView的情况,但是使用这两种嵌套方式进场会遇到滑动冲突,焦点抢占或是RecyclerView内容... -
关于算法一些事
2019-10-05 19:02:30当数据量特别大时,难免遇到 Hash collision (哈希冲突),这时候就需要在Key对应的地址后面,添加链表,而链表的遍历时间复杂度是O(n)。 PS:Hash collision (哈希冲突) 的一般解决方法是,用新 Hash 函... -
jar命令解析
2017-06-12 12:16:15在接入渠道SDK时,有时会遇到jar包的资源冲突或包的资源缺少,就需要我们手动去解压jar包,查看并解决。下面就来分析怎么去运用jar命令来帮忙解决问题。 JAR包是Java中所特有一种压缩文档,其实大家就可以把它... -
使用git fetch和git rebase处理多人开发同一个分支的问题
2019-07-13 15:14:34有时会遇到一种情况,多个人同时在一个分支上(比如我这里为dev/robot/backend-create)进行开发,当我push到远程上没有问题,可是同事push时却出现问题,git提示push远端被rejected了,所有push失败,这时怎么解决... -
蓝屏分析_蓝屏修复工具使用教程
2020-12-30 04:05:38导致电脑蓝屏原因有很多,一般情况下蓝屏都是在驱动更新或新加硬件并安装驱动后,出现冲突或不兼容的情况,当遇到这个问题时该怎么处理呢,最好的解决办法就是下载蓝屏修复工具对系统进行修复!下面,小编就给大家... -
c++修复工具_蓝屏修复工具使用教程
2020-11-12 23:06:11导致电脑蓝屏原因有很多,一般情况下蓝屏都是在驱动更新或新加硬件并安装驱动后,出现冲突或不兼容的情况,当遇到这个问题时该怎么处理呢,最好的解决办法就是下载蓝屏修复工具对系统进行修复!下面,小编就给大家... -
都怪我贱用maven4myeclipse
2010-08-10 15:39:08但是错误慢慢浮现,自动部署到resin时,我很high,但是当我改了项目目标名称时候,resin上居然没有同步更新,删了加,怎么弄都没用,至今无法解决,还有就是依赖,依赖也是只能添加,不能删除,搞的我痛苦不堪。... -
电脑蓝屏对照码
2019-05-05 14:16:40Windows 2K/XP蓝屏信息非常多, 无法在一篇文章中全面讲解, 但他们产生的原因往往集中在不兼容的硬件和驱动程序、有问题的软件、病毒等, 因此首先为大家提供了一些常规的解决方案, 在遇到蓝屏错误时, 应先对照这些... -
WIN XP蓝屏代码大全
2013-08-08 12:29:21Windows 2K/XP蓝屏信息非常多, 无法在一篇文章中全面讲解, 但他们产生的原因往往集中在不兼容的硬件和驱动程序、有问题的软件、病毒等, 因此首先为大家提供了一些常规的解决方案, 在遇到蓝屏错误时, 应先对照这些... -
C#微软培训教材(高清PDF)
2009-07-30 08:51:172.2 公用语言运行时环境与公用语言规范.13 2.3 开 发 工 具 .17 2.4 小 结 .19 第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 ... -
C#微软培训资料
2014-01-22 14:10:172.2 公用语言运行时环境与公用语言规范.13 2.3 开 发 工 具 .17 2.4 小 结 .19 第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 ... -
Linux从入门到精通
2010-04-25 19:58:09E.6.17 我安装Linux时没有遇到错误, 但是在重启动时, 我只能得到L, LI 和其他一个项目. 为什么? E.7 使用Red Hat Linux E.7.1 我不能运行我编译的任何程序, 因为 我得到一个"command not found"出错信息. 我在目录... -
《Linux从入门到精通》
2008-09-04 17:05:49E.6.17 我安装Linux时没有遇到错误, 但是在重启动时, 我只能得到L, LI 和其他一个项目. 为什么? E.7 使用Red Hat Linux E.7.1 我不能运行我编译的任何程序, 因为 我得到一个"command not found"出错信息. 我在目录...
-
MFC 绘制曲线图、柱状图
-
西南科技大学《电力电子技术》期末复习题(含答案 精心整理版).pdf
-
浙江科技学院《砼结构结构设计》知识整理.pdf
-
【爱码农】C#制作MDI文本编辑器
-
清华大学历年考研复试机试真题 - 1454反序数
-
VMware vSphere ESXi 7 精讲/VCSA/VSAN
-
西方经济学 - 高鸿业 - -第四版答案.pdf
-
浙江科技学院《抗震》知识点总结.pdf
-
云开发后台+微信扫码点餐小程序+cms网页管理后台 含后厨端和用户端
-
【图像识别】基于LBP+LPQ算法融合人脸表情识别matlab源码
-
物联网基础篇:快速玩转MQTT
-
西南科技大学《电力工程基础》作业及其答案.pdf
-
MMM 集群部署实现 MySQL 高可用和读写分离
-
SpringBoot整合Redis
-
西南科技大学《电路分析》两套期末试卷(含答案).pdf
-
编程训练第十九期——跳跃游戏 II
-
MySQL 查询与高级查询(多表、嵌套和正则表达式)
-
2021年 系统分析师 系列课
-
FFmpeg4.3系列之16:WebRTC之小白入门与视频聊天的实战
-
【硬核】一线Python程序员实战经验分享(1)