在做使用struts2进行文件上传时总是出现 java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
于是google了一下,网上90%是说没导入commons-io包,但是我在项目里明明是已经把这个包导入了,
也有兄弟说可能是版本的问题,但换了几个commons-io版本都还是报这个错误啊,我都找了两天这个问题了,头都疼了。
因为项目中要用到这个上传,请高手们出手救救小弟。

解决方案 »

  1.   

    在做使用struts2进行文件上传时总是出现 java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream这里以经很明显了,
      1: 你先确认下.是在WEB/lib下..
      2: 确认是否在tomcate工程目录下也有..应该不会有问题的..耐心点.
      

  2.   

     我也经常出现过 这种情况 ,,, 没有错,,就是包没有发布到项目中去  重启一下 eclipse 看看 吧包 直接拷到 lib 下
      

  3.   

    先谢过楼上哥们,
    commons-io包我肯定是放进了web-inf/lib目录下,而且我也试过把它放进tomcat/common/lib目录下,但就死活不行。
    也试过把commons-io源代码下载,直接在eclipse里部署,不过还是不行。
    所以我在想会不会跟环境变量有关?但直接common-io的包直接放进环境变量里还是不行。晕死了
      

  4.   

    我也是出现了这种问题,不过导入common-io包行了,太感谢了
      

  5.   

    我也遇到了与楼主同样的问题,经过请问了前辈之后,知道了是包冲突。但是我的情况我还是要说一下:
    我在页面上用到了文件上传这个功能,提交时会出项“服务器内部错误···”,在我的“TOMCAT的LIB文件夹”和“项目目录的LIB文件夹”下都有commons-fileupload-1.2.jar包,前辈告诉我说是去掉TOMCAT的LIB文件夹里的commons-fileupload-1.2.jar。之后我的问题就解决了,楼主可以试试!
      

  6.   

    应该是你在项目导入的commons-fileupload的包与Tomcat服务器自带的包版本不同,起冲突了!
      

  7.   

    应该是 commons-fileupload 与  commons-io 包版本问题。我项目是  eclipse  + maven  struts2.1.8  上面方法都试了。还是不行。 最终的版本更新为最新的  2.2.3.1  就无上面问题了。