2017-01-09 1 views
0

ich die unten Ausnahme in Aktion Klasse erhalten, wenn ich versuche, eine HTML-Formular mit Datei einreichen:java.lang.NoSuchMethodError: org.apache.commons.io.IOUtils.readFully ( Ljava/io/Input ; [B ) V

java.lang.NoSuchMethodError: org.apache.commons.io.IOUtils.readFully(Ljava/io/InputStream&#59;[B)V 
    at org.apache.commons.fileupload.disk.DiskFileItem.get(DiskFileItem.java:315) 
    at org.apache.commons.fileupload.disk.DiskFileItem.getString(DiskFileItem.java:339) 
    at org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest.processNormalFormField(JakartaMultiPartRequest.java:177) 
    at org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest.processUpload(JakartaMultiPartRequest.java:132) 
    at org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest.parse(JakartaMultiPartRequest.java:92) 
    at org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper.<init>(MultiPartRequestWrapper.java:84) 
    at org.apache.struts2.dispatcher.Dispatcher.wrapRequest(Dispatcher.java:838) 
    at org.apache.struts2.dispatcher.ng.PrepareOperations.wrapRequest(PrepareOperations.java:137) 
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) 
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79) 
    at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) 
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79) 
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3431) 
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3397) 
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) 
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2280) 
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2196) 
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174) 
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1621) 
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:256) 
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311) 
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:263) 

Ich verwende Struts 2 Framework für Backend und Weblogic 12c als Anwendungsserver.
Der auf dem Server bereitgestellte Krieg enthält commons-io-2.2.jar.

Was dieses Problem verursacht, auch wenn die erforderlichen jar - commons-io-2.2.jar im Web Logik 12c Server bereitgestellt Krieg existiert?
Gibt es im Weblogic 12c-Server ein jar, das im Commons-io-2.2.jar-Paket im Anwendungskrieg kollidiert?

Ich bekomme dieses Problem nach dem Patch - 23744018 wurde Web-Logik 12c Server hinzugefügt.

+0

Übersetzen Sie und führen Sie Ihren Code mit der gleichen "Jar" ​​Abhängigkeit aus? – CKing

+0

Ja. Ich benutze ANT-Tool zum kompilieren und bauen Krieg – Karthik

+0

Gelöst. Dies ist ein oracle-Produktfehler, wenn Patch 23744018 angewendet wird. Die Anwendung, die die Upload-Funktion verwendet, schlägt den obigen Fehler fehl. Dieses Problem kann behoben werden, indem ein überarbeiteter Patch 25029531 angewendet wird. – Karthik

Antwort

0

Ich stelle fest, dass aus Ihrer Ausnahmemeldung, in Ihrem HTML, werden Sie Upload etwas, das müssen funktionieren commons-io-XXX.jar zu unterstützen, während, wenn Sie die struts2 konfigurieren , Sie immer noch die Notwendigkeit commons-io-xxx.jar.So nehme ich an, dass es Konflikte gibt!

Verwandte Themen