使用Tomcat部署Servlet程序時,單步調試跟蹤到:
List<FileItem> itemList = sfu.parseRequest(request);
總是會報錯:Java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
直接運行后也是這個錯誤,解決方法:
添加引用包commons-io.jar到工程下,問題解決。
有人說是commons-fileupload.jar包的版本問題,說是因為當commons-fileupload包從版本1.0升到1.1時,DeferredFileOutputStream.class被移走了。
參見:http://hi.baidu.com/wenliang86/item/bb68e7b410c1c696184697cc
不論怎樣,添加commons-io.jar后問題解決。