FileUpload: Classe DeferredFileOutputStream non trovato? [duplicare]
-
27-10-2019 - |
Domanda
Questa domanda ha già una risposta qui:
sto usando apache FileUpload per gestire un .. upload di file. Lo sto usando con molo. Il servlet vede la richiesta più parti, ma genera un'eccezione NoClassDefFoundError al momento dell'esecuzione:
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
...
getta:
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 commons-fileupload-1.2.2.jar?
Il mio obiettivo è quello di caricare solo un singolo file e scrivere su disco.
Grazie
Soluzione
È necessario aggiungere CommonsIO al classpath. File Upload Commons è dipendente da esso.
Altri suggerimenti
Aggiungi al di sotto di dipendenza
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow