摘自张华的博客 从昨天开始有一个问题令我挺是郁闷。我用tomcat与tomcat plugin开发一个上传的小程序(上传组件用的是:common upload)。当然刚开始为了能够调试都是在eclipse里通过tomcat plugin启动的tomcat , 运行程序后报错误:java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream。很显然是common-io.jar这个包没加到classpath中(事实上我已经加了)。在网上找了很多贴子,都说是common-io.jar这个包没有加,这下子我就纳闷了,为什么就不行呢?
于是,我开始怀疑是JAR的版本不兼容(因为我每次遇到这种稀其古怪的问题时最后发现都是版本不兼容)。接着就开始更换commons-io.jar包的版本。还是不行。
实在搞不清楚为什么了,向同事请教,他们看后也不知道为什么,不过,向我提供了一个很有用的调试方法。他们怀疑与eclipse有关,叫我尽量让调试环境干净些。于是,我不在eclipse里启动tomcat, 只是直接在外部启动tomcat ,结果一切OK!
这下令我更纳闷了,为什么在eclipse里启动tomcat就会报类没有加载的错误了?这个问题弄得很烦,但也把我的脾气也搞来了,我发誓非要解决它不可。
这么多路走不通,再从哪里开始了? 我开始怀疑是tomcat plugin的问题,于是,我把它换成WTP plugin 。结果,一切OK !
为什么单独跑可以,在WTP环境里跑也可以,偏偏移到tomcat plugin里跑就不行了呢?于是,接着我开始怀疑是我操作系统的问题。我找同事借用了一下他们的机器,在他们的机器里在WTP 及tomcat plugin环境里也居然一切OK !
这时候,同事们都说是我的机器环境有问题。可是我的机器环境就有什么问题了。在他们的机器上跑程序时也是从我这里克隆的软件啊。于是,我开始反复比较同事机器与我机器上配置tomcat plugin环境在哪儿不同。最后,再经过努力,谜底终于揭开了:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/quqi99/aaaaaaaa.jpg)
在上图中,千万不要将cssweb前的勾勾上(因为我调试的是另外一个工程,这样导致eclipse加载的始终是cssweb工程里的JAR,于是,也就出现了找不到类的问题)
可以说,在调试这个问题的过程中极大的锻炼了我的心理素质,程序员的好脾气就是这样炼出来的吧!!!
分享到:
相关推荐
layui上传文件提示上传异常,实际文件已经上传成功 原因:上传回调的方法接收的参数应该是json格式的,之前返回的是String,所以一直走异常的方法 @ResponseBody @RequestMapping("/web/upload") public JSONObject ...
android开发,异常处理,捕获异常上传到bugly,捕获异常库module化了。
安卓基于UncaughtExceptionHandler实现异常的抓取,并实现使用retrofit网络框架的上传,该压缩包为完整案例
struts2 单文件,多文件上传及异常处理
错误spring boot上传文件错误The temporary upload location [/tmp/tomcat.******/work/Tomcat/localhost/ROOT] is not valid
涵盖全局异常捕获以及服务器加密上传
Android 异常捕获以及上传到服务器
操作异常日志 控件, 把对应的异常上传到服务器中查看。 服务器可以搭建在局域网、互联网
Matlab模拟均匀球体与长方体重力异常正演 上传版本.zip
android工程全局异常处理-将未处理异常日志保存在文件中,可后续开发提交至服务器
本demo只是简单的演示一个异常捕获,具体使用还需要看你的项目实际需求
使用规范: var file = $("#file_input")[0].files[0]; if(file.size / 1024 > 1024 * 5){ mui.toast('图片不能超过5M'); return; } //图片压缩 compress.... mui.toast('上传异常'); } }) }
Java字符串查找和提取异常处理,最有效的方法
Matlab模拟均匀球体剖面重力异常正演 上传版本.zip
用户在使用一个应用出现错误即将退出时,作为开发者当然希望能保存异常异常信息,然后上传到服务器,所以重新系统的异常捕获是有必要的,对开发者的帮助是巨大的。
项目场景: 1,上传文件限制 功能作用: 1,防止前端操作上传异常文件 2,限制符合的规则,优化展示模型 功能实现: 1,获取file实例 2,执行校验规则方法 代码如下: //大小限制 checkFileSize(file, ...
主要讲述JAVA中的异常,自己定义异常类,及其使用方法。
安卓异常捕捉器,发生异常后弹出Dialog显示错误信息,可以复制到剪切板后者上传到服务器