java的jar包冲突排查思路

jar包冲突的起因一般使用eclipse或IDEA等集成开发工具进行项目开发打包的话,很少会出现引入不同版本的同一款jar包,所以在一个项目中出现引入的jar包冲突的现象极少,也比较容易排查。但是,随着java系统的庞大,往往一套庞大的应用系统会由不同的服务部件组成,而这些服务部件常常会由jar包相互引入的现象,这就为jar包冲突埋下了隐患。当一个部件因要与其他部件进行交互,而产生需要引入其他部件的相关jar包时,如果要引入的部件的jar包很多,一个不好的习惯,就是一些开发就将这些jar一概均引入自
摘要由CSDN通过智能技术生成

jar包冲突的起因

一般使用eclipse或IDEA等集成开发工具进行项目开发打包的话,很少会出现引入不同版本的同一款jar包,所以在一个项目中出现引入的jar包冲突的现象极少,也比较容易排查。

但是,随着java系统的庞大,往往一套庞大的应用系统会由不同的服务部件组成,而这些服务部件常常会由jar包相互引入的现象,这就为jar包冲突埋下了隐患。当一个部件因要与其他部件进行交互,而产生需要引入其他部件的相关jar包时,如果要引入的部件的jar包很多,一个不好的习惯,就是一些开发就将这些jar一概均引入自己项目的classpath中,而当引入的部件的版本发生不同,就很可能其引入的同一款jar包就出现不同的版本,特别是多个部件均引入的一些公共的工具包时。

jar包冲突一般现象

  1. 应用的异常日志往往会出现让人摸不着头脑的情况,根据异常日志跟踪源码时,发现不了bug。
  2. 往往会出现本地调试时是正常的,在环境上部署运行后就出现异常。
  3. 进行远程debug调试时,跟踪异常代码片段时,出现远程的代码执行与本地的代码或source文件不一致情况,比如debug走到了空白行。

出现这些现象,往往就要考虑是否出现了jar包冲突,不要被异常日志所迷惑。

如何排查

排查jar包冲突要通过以下几个步骤:

  1. 通过异常日志,确定抛出异常的类所在jar包。
  2. 检查异常栈中涉及到的类及其方法是否确实存在bug。
  3. 本地测试问题方法,检查本地执行是否ok。
  4. 排查自己项目引入的jar包,检查是否存在有冲突的jar包。
    eclipse及IDEA等集成开发平台都会有对项目依赖包的管理,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值