上传文件时出现java.lang.NoSuchMethodError

标签 java jakarta-ee file-upload

我正在开发一个具有图像上传模块的应用程序。我编写了以下代码来获取多部分表单数据。

List items = servletFileUpload.parseRequest(request);

为此,我正在使用 commons-fileupload-1.2.1.jar。当我在 jboss-5.1.0.GA 服务器上部署构建时,上传任何文件时都会出错。错误如下:

java.lang.NoSuchMethodError: org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(Lorg/apache/commons/fileupload/RequestContext;)Ljava/util/List; at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126) at com.bworld.action.UploadSubscriptionImage.processRequest(UploadSubscriptionImage.java:46) at com.bworld.action.UploadSubscriptionImage.doPost(UploadSubscriptionImage.java:145) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:679)

谁能告诉我如何从这个问题中恢复过来?

最佳答案

您使用了错误的 jar 。您的类路径引用的内容与您认为的不同。检查您的 Jboss 库和类路径中是否有名称相似但版本不同的 jar。然后执行完整的清理+构建周期,删除 jboss tmp 目录,并在服务器上执行清理+发布。这是另一个 SO answer

关于上传文件时出现java.lang.NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10800728/

相关文章:

jakarta-ee - 所有核心 J2EE 模式在 Java EE 环境中仍然有效吗?

java - 使用 Java EE Bean 保存表单数据列表并打印 JSF XHTML 数据表中的数据

php - 试图在我的 "Edit form"中显示上传的图片

java - 如何在 Linux 中为我的 Java 项目创建 Windows 安装程序?

JavaFX刷新方法内的进度条

java - [Ljava.lang.String;@5d79a22d 结果

java - 通过 VPN/代理的 JSoup

java - 无法访问实体类中的字段

javascript - 最好将图像文件作为数据 URI 或二进制形式数据从浏览器上传到服务器?

jquery - 使用 jQuery 模式对话框上传图像示例