java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream

原创 2007年07月06日 10:46:00

         从昨天开始有一个问题令我挺是郁闷。我用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环境在哪儿不同。最后,再经过努力,谜底终于揭开了:

           在上图中,千万不要将cssweb前的勾勾上(因为我调试的是另外一个工程,这样导致eclipse加载的始终是cssweb工程里的JAR,于是,也就出现了找不到类的问题)

          可以说,在调试这个问题的过程中极大的锻炼了我的心理素质,程序员的好脾气就是这样炼出来的吧!!!

 
版权声明:本文为博主原创文章,如需转载,请注明出处!

java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStream

今天做Spring mvc文件上传遇到这个问题,仔细看了看是否缺少commons-fileupload-1.2.jar。结果发现并没有缺少。 那么问题出在哪里呢? 原来是commons-fi...

java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream异常解决方法

使用Tomcat部署Servlet程序时,单步调试跟踪到: List itemList = sfu.parseRequest(request); 总是会报错:java.lang.NoClass...

java开发常见问题总结

Java编程中的一些常见问题汇总 ..本文列举了我在周围同事的Java代码中看到的一些比较典型的错误。显然,静态代码分析(我们团队用的是qulice)不可能发现所有的问题,这也是为什么我要在...

java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream 异常解决方法

编写上传代码时,遇到java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream异常,百度...

java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream

错误行: List fileItems = sevletFileUpload.parseRequest(request);  今天遇到了这个问题,是因为common-io.jar包没有导入的原因,已经...

MAVEN Error: java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStream

MAVEN Error: java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStream...
  • zxygww
  • zxygww
  • 2015年05月20日 10:22
  • 1727

java.lang.NoClassDefFoundError: org/apache/commons/io/output/NullOutputStream

java.lang.NoClassDefFoundError: org/apache/commons/io/output/NullOutputStream  Could not create J...

在用StrutsMenu时,报异常java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LinkedMap

在用Struts Menu时,项目启动时报如下异常:java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LinkedM...

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating b...
  • zlb824
  • zlb824
  • 2011年12月07日 12:31
  • 548

[Gradle] 执行gradlew命令时抛异常 (java.lang.NoClassDefFoundError: org/apache/commons/cli/CommandLineParser)

gradle最近发布了2.6, 所以想把android studio中的gradle改成2.6 由于我是使用命令gradlew的, 所以把gradle/wrapper/gradle-wrapper....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
举报原因:
原因补充:

(最多只允许输入30个字)