文档章节

jar冲突解决方案

匆匆里
 匆匆里
发布于 2014/01/03 15:53
字数 329
阅读 639
收藏 7

每次依赖的二方库Or三方库升级经常会遇到jar依赖冲突的问题,此问题经常会搞得大家晕头转向不停的猜测哪里出问题,下面梳理一下解决问题步骤。

以下案例为预警系统升级Napoli2.0 引起上传附件失败。

第一步定位问题:

2014-01-02 18:49:26,962 http-8080-5 [AbstractWebxRootController.java:189] ERROR : Error occurred while process request /quickview/upload/upload.htm

java.lang.NoSuchMethodError: org.apache.commons.io.output.DeferredFileOutputStream.<init>(ILjava/lang/String;Ljava/lang/String;Ljava/io/File;)V

        at **********.upload.impl.cfu.AbstractFileItem.getOutputStream(AbstractFileItem.java:562)

 

分析上面日志会看到三个信息

AbstractWebxRootController  日志输出位置

DeferredFileOutputStream      出错类(因为此类在多个jar中出现导致jar冲突)

AbstractFileItem                       异常跑出类

第二步 配置环境获取 DeferredFileOutputStream 具体使用jar 的路径

AbstractFileItem.java:562 打断点

找出Expressions视图(Window->show view ->Expressions)

添加表达式:DeferredFileOutputStream.class.getProtectionDomain().getCodeSource().getLocation();

 

第三部 进行debug 如最后图所示

 

第四步:排除冲突

经过上面三步 定位到使用的jar 后排除掉

方法一:使用eclipse 中pom依赖关系查看定位 

方法二:使用cmd命令排除,mvn dependency:tree >tree.txt

最后改pom 代码,这里就不列出来了

 

实际错误为 commons.is-1.3.1.jar 上图为去掉冲突之后的实际位置

 


© 著作权归作者所有

共有 人打赏支持
匆匆里
粉丝 10
博文 9
码字总数 1807
作品 2
杭州
程序员
HTTP Status 500 - Unable to compile class for JSP解决方案

产生问题分析: 使用maven对jar包进行管理,因此当使用SpringMVC框架的时候肯定会手动的配置 servlet-api.jar 、jsp-api.jar等jar包到项目中,否则一些jsp肯定会无情的报错(找不到对应jar包...

lybb_lbb
01/11
0
0
使用httpClient的post发送数据时候错误:cannot inherit from final class

在使用httpClient发送post请求的时候错误信息:httpcliecannot inherit from final classnt java.lang.verifyerror: 本人遇到这种问题解决方案: 在网上查询了很多。发现有些人说是jar冲突导...

凯哥java
2016/08/30
38
0
WebLogic 部署项目,jar包冲突怎么解决?

背景: 在tomcat部署,项目A一切运行正常。部署到WebLogic后,启动节点项目出现了异常,详情如下。 原始异常 初步判断问题出现的原因: weblogic 自带jar包和项目中的jar包冲突 百度得到集中...

枪炮玫瑰
2016/05/23
778
3
Tomcat报java.lang.VerifyError错误

调试网页时候发现报这个错误:java.lang.VerifyError错误。 google了下,看网友们的评述感觉是的jar包的问题,于是仔细检查自己的情况; 发现了个奇怪的地方,可能是自己不小心拖动了jar包导...

zhengguogaun
2013/06/19
0
0
关于项目文件修改后tomcat提示文件被锁的解决方案

本人小菜一枚,刚进一家企业实习,今天用三大框架搭建环境时,由于有jar包冲突就在项目lib文件夹中删了几个有冲突的jar包,删完之后发现该项目无论怎么修改,运行结果始终停留在一开始的运行...

dengxin919820
06/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java IO类库之PrintStreamWriter

* A <code>PrintStream</code> adds functionality to another output stream, * namely the ability to print representations of various data values * conveniently. Two other fea......

老韭菜
58分钟前
0
0
qduoj~前端~二次开发~笔记

青岛大学qdu的onlinejudge是js的写的前端,框架是vue.js,在nodejs上部署运行,其实整体运行还是建立在docker的容器虚拟环境里,这里暂时不需要docker。安装环境是Ubuntu14-64bit 1.安装一大...

虚拟世界的懒猫
今天
6
0
ConcurrentHashMap源码解读

部分内容转自:http://jiabinyuan.xyz/#/app/archive/detail/25 内部结构 内部采用了segment结构,每一个segment相当于一个hashtable。看下面的结构图: 从图的结构我们可以了解到,Concurr...

edwardGe
今天
1
0
Ubuntu终端Tab键自动补全

打开 /etc/bash.bashrc,找到下列代码,取消注释。 #enable bash completion in interactive shells#if ! shopt -oq posix; then# if [-f /usr/share/bash-completion/bash_compl......

大熊猫
今天
0
0
polipo socks5代理转http代理

天朝的网络,哎~ 装个 yarn 都时而会卡 假设在SSlocal 已经装好运行的前提下,来安装设置 polipo sudo apt-get install polipo sudo vim /etc/polipo/config 追加下列配置内容,并保存 socksP...

纯洁徐
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部