【问题标题】:javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStreamjavax.servlet.ServletException:java.lang.NoClassDefFoundError:org/apache/commons/io/output/DeferredFileOutputStream
【发布时间】:2013-11-20 09:15:19
【问题描述】:

我正在尝试使用 JSP 上传文件,但出现错误 org.apache.jasper.JasperException: 在第 31 行处理 JSP 页面 /upload.jsp 时发生异常

28:       upload.setSizeMax( maxFileSize );   
29:       try{   
30:          // Parse the request to get file items.  
31:          List fileItems = upload.parseRequest(request);  
32:   
33:          // Process the uploaded file items  
34:          Iterator i = fileItems.iterator();    

我得到的例外是:

javax.servlet.ServletException: java.lang.NoClassDefFoundError:    org/apache/commons/io/output/DeferredFileOutputStream  
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:912)  
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:841)  
    org.apache.jsp.upload_jsp._jspService(upload_jsp.java:154)  

【问题讨论】:

  • 您似乎忘记将 apache commons-io.jar 放入您的项目库中。
  • 能否详细说明(在哪里)项目库
  • @user2686064 你可以从here下载它
  • 通常你会像war文件一样构建web应用程序,然后在tomcat上部署war。此战争必须包含您在项目中使用的外部库(jar 文件)的 lib 目录。如果你只是尝试在 tomcat 上玩 jsp,请将 commons-io.jar 放在 tomcat lib 目录中
  • 是的,我已将所有与commons-io、commons-fileupload 相关的.jar 文件放入tomcat 的lib 目录中。但我仍然在同一行遇到同样的错误

标签: java apache jsp


【解决方案1】:

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

这意味着 webapp 的运行时类路径中缺少提到的类。正如包名所暗示的,它是Apache Commons IO 的一部分。您需要 download 包含二进制 JAR 的 zip 文件,将其解压缩,然后将 commons-io.jar 连同您应该已经拥有的 commons-fileupload.jar 放在您的 web 应用程序的 /WEB-INF/lib 文件夹中。

不要将它放在 Tomcat 的 /lib 中,同时将 commons-fileupload.jar 放在 webapp 的 /WEB-INF/lib 中。不要不要在项目的构建路径设置中摆弄。只需将两个 JAR 放到 webapp 的 /WEB-INF/lib 中,您就应该准备好了。

另见:


与具体问题无关,Java 代码不属于 JSP 文件。它属于 Java 类。现在是时候学习如何创建和使用servlets了,以免为时已晚。

【讨论】:

  • 这对我有帮助...非常感谢..你能帮我在我使用 Mac 的代码中设置上传目标的路径吗,你能给出一个代码声明吗?那..
  • 不客气。至于后面的问题,查看stackoverflow.com/questions/18664579/…如果还是卡住,直接按右上方的“”按钮即可。
猜你喜欢
  • 1970-01-01
  • 2012-06-24
  • 1970-01-01
  • 2019-02-10
  • 1970-01-01
  • 2013-06-25
  • 1970-01-01
  • 2019-05-20
  • 1970-01-01
相关资源
最近更新 更多