2011-03-17 11 views
7

Sto usando Apache FileUpload per gestire un .. caricamento di file. Lo sto usando con il molo. Il servlet vede la richiesta più parti, ma genera un'eccezione NoClassDefFoundError al momento dell'esecuzione:FileUpload: DeferredFileOutputStream class non trovato?

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 
     ... 

tiri:

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

causati da:

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

C'è un vaso addizionale abbiamo bisogno di includere oltre a commons-fileupload-1.2.2.jar?

Il mio obiettivo è caricare un solo file e scriverlo sul disco.

Grazie

risposta

13

è necessario aggiungere CommonsIO al classpath. Il caricamento del file di Commons dipende da questo.

+0

che ha fatto Grazie. – user291701

+0

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

2

Aggiungere la dipendenza sotto

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

Per vedere un altro link di accesso alle versioni: https://mvnrepository.com/ –