我正在按照here所述的多部分过滤器处理文件上传。我创建了一个WAR文件并部署在Weblogic 10.3.3服务器上并出现错误:
<Dec 8, 2011 5:37:07 PM IST> <Error> <HTTP> <BEA-101020> <[ServletContext@26087289[app:playground module:playground.war path:/playground spec-version:null]] Servlet failed with Exception
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 net.balusc.webapp.MultipartFilter.parseRequest(MultipartFilter.java:169)
at net.balusc.webapp.MultipartFilter.doFilter(MultipartFilter.java:123)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
Truncated. see log file for complete stacktrace
然后我在Tomcat 7.0.11服务器上部署了相同的WAR文件,并且它已成功运行。这是如何引起的,如何在Weblogic上成功部署?
答案 0 :(得分:6)
在Weblogic 10.3.3上部署会导致错误:
java.lang.NoSuchMethodError:org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(Lorg / apache / commons / fileupload / RequestContext;)Ljava / util / List;
在Tomcat 7.0.11上部署成功。
Weblogic已附带Apache Commons FileUpload库。此错误表示它们的版本低于/WEB-INF/lib
中的版本。
您至少有3个选项:
/WEB-INF/lib
。答案 1 :(得分:2)
您可以使用以下API将文件上传到JBoss Server http://commons.apache.org/fileupload/index.html
答案 2 :(得分:0)
检查您的Jar库是否包含具有不同版本的重复Jar文件。 删除旧版本文件。