2011-03-17 10 views
7

Estoy usando Apache FileUpload para manejar una carga de archivo. Lo estoy usando con embarcadero. El servlet ve la solicitud de varias partes, pero emite una excepción NoClassDefFoundError tras la ejecución:FileUpload: clase DeferredFileOutputStream no encontrada?

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException 
{ 
    boolean isMultipart = ServletFileUpload.isMultipartContent(req); 
    if (isMultipart) { 
    try { 
     FileItemFactory factory = new DiskFileItemFactory(); 

     ServletFileUpload upload = new ServletFileUpload(factory); 

     List items = upload.parseRequest(req); // exception 
     ... 

tiros:

java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream 
    at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:199) 

causado por:

java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStream 

¿Hay un frasco adicional que necesitamos para incluir además de commons-fileupload-1.2.2.jar?

Mi objetivo es subir un solo archivo y escribirlo en el disco.

Gracias

Respuesta

13

es necesario agregar CommonsIO a la ruta de clase. La carga de archivos comunes depende de ello.

+0

Gracias que lo hizo. – user291701

+0

maven repo: http://mvnrepository.com/artifact/org.apache.commons/commons-io –

2

Añadir el siguiente dependencia

<dependency> 
     <groupId>commons-io</groupId> 
     <artifactId>commons-io</artifactId> 
     <version>2.4</version> 
    </dependency> 
+0

Para ver el enlace de acceso de otras versiones: https://mvnrepository.com/ –

Cuestiones relacionadas