20180403_调bug_大地保险_jar包冲突

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 一、异常现象 他们程序在本地通过java形式直接跑起来的时候,是正常的。 但是测试服务器上,程序跑到一半就不继续往下走了,而且,也不报错,日志里面没有任何信息。   二、异常解决 1.核心思想 抽丝剥茧,层层逼近。

一、异常现象

他们程序在本地通过java形式直接跑起来的时候,是正常的。

但是测试服务器上,程序跑到一半就不继续往下走了,而且,也不报错,日志里面没有任何信息。

 

二、异常解决

1.核心思想

抽丝剥茧,层层逼近。缩小bug出现的范围。

 

2.异常解决过程

参考:java根据jar包反编译后修改再打包回jar的做法

 

2.1 反编译jar包

使用jd-gui反编译jar包(A),复制反编译后的class文件里的内容

 

2.2 修改java文件

在eclipse中新建一个工程,新建一个java类,类名和class文件名称一致,将class文件的内容粘贴进来

然后再修改java文件的内容。这里主要是增加一些打印语句

 

2.3 eclipse打jar包

通过eclipse将2.2中的工程打成一个jar包(B),用解压工具(如好压)解压

再将原本的jar包(A),用解压缩工具解压得到文件夹C。

将修改后class文件替换掉文件夹C中的class文件

 

2.4 命令行打jar包

从命令行进入到文件夹C,执行打包命令:

jar -cvf  bbb.jar  *            //将文件夹C中的所有文件打包进bbb.jar

 

2.5 替换jar

将修改后的jar包替换掉原工程中的jar包。

 

2.6 得到结果

反复执行以上操作,发现最终出现问题的地方是:

    MongoClientURI uri = new MongoClientURI(this.mongoUri, new MongoClientOptions.Builder().connectionsPerHost(connectionsPerHost).serverSelectionTimeout(serverSelectionTimeout));

 

程序执行到这里就不继续往下执行了,然后可以发现 MongoClientURI 这个类是  mongoDB的。那么可能是mongoDB出问题了。

 

是什么问题呢?为什么本地是正常的,但是测试服务器上就出异常了呢?这两个地方mongoDB 有什么不同吗?

 

然后去测试服务器上看看,发现测试服务器上mongoDB的驱动有两个。

 

那么是不是因为jar包冲突导致的呢?删掉一个试试,发现程序正常了

 

 

三、参考资料

1.java根据jar包反编译后修改再打包回jar的做法

 

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
6月前
|
Java Maven
maven依赖原则以及jar包冲突
该文介绍了Maven依赖原则:最短路径优先,申明顺序优先和覆写优先。当有冲突时,Maven选择路径最短的版本,按POM中声明顺序加载,并且子POM的依赖优先于父POM。解决冲突最佳方式是通过`mvn dependency:tree`检查依赖树并调整POM文件中的坐标顺序。
132 2
|
6月前
|
Java Maven
maven jar 包冲突处理
maven jar 包冲突处理
56 0
|
Java Maven
【异常解决】为什么会产生jar包冲突,如何排查jar包冲突?
【异常解决】为什么会产生jar包冲突,如何排查jar包冲突?
259 0
|
6月前
|
Java 应用服务中间件 数据库连接
hibernate+struts2整合jar包冲突
hibernate+struts2整合jar包冲突
|
Java Maven 开发者
又遇到maven jar包冲突了,如何快速解决
又遇到maven jar包冲突了,如何快速解决
196 0
|
Java Maven
不会还在为jar包冲突发愁吧
在我们平时的开发过程中,常常会遇到引入各种不同的 jar 包,然后引发的 Maven 依赖冲突,今天我们来学习下如何使用 Maven 命令检测 pom.xml 中的重复依赖项。
84 0
|
Java 应用服务中间件 数据库连接
hibernate+struts2整合jar包冲突
前几天,在用Hibernate+Struts2做项目的时候遇到了一个很棘手的问题,jar包冲突!!!先亮一下错误:
|
消息中间件 SQL 分布式计算
spark和kafka jar包冲突NoSuchMethodError: net.jpountz.lz4.LZ4BlockInputStream
在利用Spark和Kafka处理数据时,有时会同时在maven pom中引入Spark和Kafka的相关依赖。但是当利用Spark SQL处理数据生成的DataSet/DataFrame进行collect或者show等操作时,抛出异常NoSuchMethodError: net.jpountz.lz4.LZ4BlockInputStream
|
Java 应用服务中间件 数据库连接
Maven项目中jar包冲突问题解决 导入jar包scope作用域的使用
Maven项目中jar包冲突问题解决 导入jar包scope作用域的使用
286 0
Maven项目中jar包冲突问题解决 导入jar包scope作用域的使用