kzen.dev
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 SAR
SAR
Question

Bagaimana cara mengatasi java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream ini?

Saya menggunakan kode di bawah ini untuk mengunggah file ke tomcat5.5 dan itu memberi saya pengecualian berikut ini

java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream

bisakah Anda membantu saya untuk menemukannya?

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

/**
 * Servlet implementation class FileUploadServlet
 */
public class FileUploadServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public FileUploadServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    @SuppressWarnings("rawtypes")
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        System.out.println("Status : "+isMultipart);
        if (isMultipart) {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);

            try {
                List items = upload.parseRequest(request);
                Iterator iterator = items.iterator();
                while (iterator.hasNext()) {
                    FileItem item = (FileItem) iterator.next();

                    if (!item.isFormField()) {
                        String fileName = item.getName();

                        String root = getServletContext().getRealPath("/");
                        File path = new File(root + "/uploads");
                        if (!path.exists()) {
                            boolean status = path.mkdirs();
                        }

                        File uploadedFile = new File(path + "/" + fileName);
                        System.out.println(uploadedFile.getAbsolutePath());
                        item.write(uploadedFile);
                    }
                }
            } catch (FileUploadException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        response.sendRedirect("upload.jsp");
    }

}

ini adalah jar yang saya gunakan commons-fileupload-1.2.2.jar

27 2012-06-22T10:13:51+00:00 3
Pemrograman
upload
servlets
tomcat5.5
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Solution / Answer
 BalusC
BalusC
22 Juni 2012 в 12:19
2012-06-22T12:19:53+00:00
Lebih
Sumber
Sunting
#16503609

Pesan pengecualian tertentu memberitahu Anda bahwa kelas yang disebutkan tidak ada di classpath. Seperti petunjuk nama paket org.apache.commons.io, kelas yang disebutkan adalah bagian dari proyek http://commons.apache.org/io.

Dan memang, Commons FileUpload memiliki Commons IO sebagai dependensi. Anda perlu mengunduh dan meletakkan commons-io.jar di /WEB-INF/lib juga.

Lihat juga:

  • https://stackoverflow.com/questions/2422468/how-to-upload-files-in-jsp-servlet/
  • https://stackoverflow.com/questions/6792197/how-to-add-jar-libraries-to-war-project-without-facing-java-lang-classnotfoundex
  • https://stackoverflow.com/questions/4076601/how-do-i-import-the-javax-servlet-api-in-my-eclipse-project
 Community
Community
Jawaban edit 23 Mei 2017 в 12:26
38
0
 Harish.bazee
Harish.bazee
18 Desember 2012 в 4:57
2012-12-18T04:57:39+00:00
Lebih
Sumber
Sunting
#16503610

gunakan ketergantungan maven

<dependency> 
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-io</artifactId> 
  <version>1.3.2</version> 
</dependency> 

atau unduh commons-io.1.3.2.jar ke folder lib Anda

Jim Garrison
Jim Garrison
Jawaban edit 18 Desember 2012 в 5:20
15
0
Jean  Carlos Su&#225;rez Marra
Jean Carlos Suárez Marra
18 Oktober 2013 в 5:09
2013-10-18T17:09:07+00:00
Lebih
Sumber
Sunting
#16503611

Unduh PrimeFaces 4.0. Ini langsung menyelesaikan masalah saya. Saya menggunakan Glassfish 4.0

-5
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
工藤 芳則
Terdaftar 6 hari yang lalu
2
Ирина Беляева
Terdaftar 1 minggu yang lalu
3
Darya Arsenyeva
Terdaftar 1 minggu yang lalu
4
anyta nuam-nuam (LapuSiK)
Terdaftar 1 minggu yang lalu
5
Shuhratjon Imomkulov
Terdaftar 1 minggu yang lalu
ES
ID
JA
KO
RU
© kzen.dev 2023
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi