文档章节

jar冲突解决方案

匆匆里
 匆匆里
发布于 2014/01/03 15:53
字数 329
阅读 633
收藏 7
点赞 0
评论 0

每次依赖的二方库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 上图为去掉冲突之后的实际位置

 


© 著作权归作者所有

共有 人打赏支持
匆匆里
粉丝 9
博文 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

使用httpClient的post发送数据时候错误:cannot inherit from final class

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

凯哥java ⋅ 2016/08/30 ⋅ 0

struts2 + json 包冲突问题

在用strtus2的json插件读取数据时,出现了包冲突的问题,搞了老半天才解决, 严重: Servlet.service() for servlet default threw exception java.lang.NoClassDefFoundError: com/opensymph...

王二铁 ⋅ 2011/08/22 ⋅ 0

WebLogic 部署项目,jar包冲突怎么解决?

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

枪炮玫瑰 ⋅ 2016/05/23 ⋅ 3

出现异常 java.lang.NoSuchMethodError: antlr.collec

原因:是JAR包的冲突,包 antlr2.7.2 与 antlr2.7.6 冲突(一个是tomcat下的包,一个是自己引入ssh2的包) 解决方案:删除包antlr2.7.2 即可,具体方法: 在MyEclipse下,windows-->prefere...

AbrahamLeeJay ⋅ 2014/07/28 ⋅ 0

S(struts2)SH自动加载时jar包冲突问题的解决

SSH自动加载时,很容易发生jar包冲突的问题。感谢原作者的分享! 解决方案:删除所有以asm开头的jar 包,删除 cglib-2.1.3.jar,并添加asm-all-3.0jar包 现将原作者的文档上传至附件!...

dengxin919820 ⋅ 2013/03/19 ⋅ 0

详解MyEclipse6开发JDK6和Struts2冲突

在Struts 2+Hibernate开发遇到了Struts2+JDK 6的冲突问题,具体信息如下: 出错信息: Illegal access: this web application instance has been stopped already. Could not load org.xml.sa......

精华之王 ⋅ 2009/04/11 ⋅ 0

关于项目文件修改后tomcat提示文件被锁的解决方案

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

dengxin919820 ⋅ 2013/03/19 ⋅ 0

java.lang.NoSuchFieldError: deferredExpression

异常: java.lang.NoSuchFieldError: deferredExpression type Exception report message description The server encountered an internal error () that prevented it from fulfilling thi......

chape ⋅ 2013/10/31 ⋅ 0

解决weblogic下jar包冲突的问题

刚刚帮同事解决了在weblogic部署webapp的问题; 最终的问题是jar包冲突; 找问题的过程就不赘述了,各种try之后,确定了问题; 然后我就查询了weblogic的类加载顺序的问题,不同于tomcat,w...

恺哥 ⋅ 2013/04/21 ⋅ 13

没有更多内容

加载失败,请刷新页面

加载更多

下一页

三步为你的App集成LivePhoto功能

摘要:LivePhoto是iOS9新推出的一种拍照方式,类似于拍摄Gif图或录制视频片段生成图片。如果没有画面感,可以联想《哈利波特》霍格沃茨城堡的壁画,哈哈,很炫酷有木有,但坑爹的是只有iphone6S以...

壹峰 ⋅ 20分钟前 ⋅ 0

centos7 git安装

由于centos中的源仓库中git不是最新版本,需要进行源码安装。 1、查看yum仓库git信息 [root@iZm5e3d4r5i5ml889vh6esZ zh]# yum info gitLoaded plugins: fastestmirrorLoading mirror s...

xixingzhe ⋅ 29分钟前 ⋅ 0

input file 重复上传同一张图片失效的解决办法

解决办法 方法一:来回切换input[type='file']的type属性值,可以是‘text’,'button','button'....,然后再切换回来‘file’ 方法二:每次取消图片预览后,重置input[type='file']的value的...

时刻在奔跑 ⋅ 30分钟前 ⋅ 0

Mahout推荐算法API详解

前言 用Mahout来构建推荐系统,是一件既简单又困难的事情。简单是因为Mahout完整地封装了“协同过滤”算法,并实现了并行化,提供非常简单的API接口;困难是因为我们不了解算法细节,很难去根...

xiaomin0322 ⋅ 35分钟前 ⋅ 0

WampServer默认web服务器根目录位置

安装WampServer之后的web服务器根目录默认位置在WampServer安装目录下的www:

临江仙卜算子 ⋅ 36分钟前 ⋅ 0

Redux的一些手法记录

Redux Redux的基本概念见另一篇文。 这里记录一下Redux在项目中的实际操作的手法。 actions 首先定义action.js,actions的type,可以另起一个action-type.js文件。 action-type.js用来存...

LinearLaw ⋅ 37分钟前 ⋅ 0

android 手势检测(左右滑动、上下滑动)

GestureDetector类可以让我们快速的处理手势事件,如点击,滑动等。 使用GestureDetector分三步: 1. 定义GestureDetector类 2. 初始化手势类,同时设置手势监听 3. 将touch事件交给gesture...

王先森oO ⋅ 51分钟前 ⋅ 0

java 方法的执行时间监控 设置超时(Future 接口)

java 方法的执行时间监控 设置超时(Future 接口) import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor......

青峰Jun19er ⋅ 56分钟前 ⋅ 0

一名开源小白的Apache成长自述

今天收到了来自Apache Vote我成为Serviceomb项目Committer的邮件,代表自己的贡献得到了充分的肯定;除了感谢团队的给力支持,我更希望将自己的成长经历——如何践行Apache Way的心得介绍给大...

微服务框架 ⋅ 58分钟前 ⋅ 0

vim介绍、颜色显示和移动光标、一般模式下复制、剪切和粘贴

1.vim 是 vi 的升级版 vim 是带有颜色显示的 mini安装的系统,一般都不带有vim [root@aminglinux-128 ~]# yum install -y vim-enhanced已加载插件:fastestmirror, langpacksLoading mir...

oschina130111 ⋅ 58分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部