[
https://issues.apache.org/jira/browse/GERONIMO-5868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13396357#comment-13396357
]
Ivan commented on GERONIMO-5868:
--------------------------------
As stated by Martin, adding the configurations below to the deployment plan and
places those two libraries will solve this issue.
<dep:hidden-classes>
<dep:filter>org.apache.commons.io</dep:filter>
<dep:filter>org.apache.commons.fileupload</dep:filter>
</dep:hidden-classes>
Axis2 does need fileupload to parse the MIME headers. The most problem here is
that, if the target application did not use web service, Axis2 classloader
should not be in the parent classloader list.
There is a jira opened for this,
https://issues.apache.org/jira/browse/GERONIMO-6203
> 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
> 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