[ https://issues.apache.org/jira/browse/GERONIMO-5868?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Shawn Jiang reassigned GERONIMO-5868: ------------------------------------- Assignee: Shawn Jiang > ClassNotFoundException when using commons-fileupload > ---------------------------------------------------- > > Key: GERONIMO-5868 > URL: https://issues.apache.org/jira/browse/GERONIMO-5868 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: general > Affects Versions: 2.2.1 > Reporter: Martin Hejl > Assignee: Shawn Jiang > Fix For: 2.2.2 > > Attachments: geronimo_postfile.zip > > > Using a vanilla geronimo 2.2.1 server from > http://www.apache.org/dyn/closer.cgi/geronimo/2.2.1/geronimo-tomcat6-javaee5-2.2.1-bin.zip > > and GEP 2.2.1 I created a simple dynamic web project (one jsp and one > servlet, with commons-fileupload and commons-io in WEB-INF/lib/ - see > attachment) > When the form in hello.jsp (http://localhost:8080/HelloWorld/) is postet to > the servlet (http://localhost:8080/HelloWorld/postFile), I get the following > exception: > java.lang.ClassNotFoundException: > org.apache.commons.io.output.DeferredFileOutputStream in classloader > org.apache.geronimo.configs/axis2/2.2.1/car > at > org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimizedClass(MultiParentClassLoader.java:407) > at > org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:257) > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > at > org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:179) > at > org.apache.commons.fileupload.FileUploadBase.createItem(FileUploadBase.java:500) > at > org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:367) > at > org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:116) > at de.guhsoft.test.PostServlet.doPost(PostServlet.java:38) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > at > org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:420) > at > org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:47) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:396) > at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214) > at > org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > As suggestet by Kevan at > http://article.gmane.org/gmane.comp.java.geronimo.user/15126 adding > <dep:hidden-classes> > <dep:filter>org.apache.commons.io</dep:filter> > <dep:filter>org.apache.commons.fileupload</dep:filter> > </dep:hidden-classes> > to the deployment plan fixes the issue. > Kevan suggested at > http://article.gmane.org/gmane.comp.java.geronimo.user/15127 that I should > open a Jira anyway, fileupload probably > shouldn't be in the axis2 classloader -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira