apache POI java.lang.NoClassDefFoundError: org / apache / commons / compress / archivers / zip / ZipFile

Intento crear un documento de Word con Apache POI 4.0.0, pero recibo el error

Exception en el hilo "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org / apache / commons / compress / archivers / zip / ZipFile en org.apache.poi.openxml4j.opc.OPCPackage.create (OPCPackage.java:365 ) en org.apache.poi.xwpf.usermodel.XWPFDocument.newPackage (XWPFDocument.java:158) en org.apache.poi.xwpf.usermodel.XWPFDocument. (XWPFDocument.java:149) en model.Modelkdok .java: 32) en view.Frame_surat.cetak_dan_simpanActionPerformed (Frame_surat.java:414) en view.Frame_surat.access $ 400 (Frame_surat.java:23) en view.Frame_surat $ 5.actionPerformed (Frame_s11t.ja) .AbstractButton.fireActionPerformed (AbstractButton.java:2022) en javax.swing.AbstractButton $ Handler.actionPerformed (AbstractButton.java:2348) en javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java. setPressed (DefaultButtonModel.java:259) en javax.swing.plaf.basic.BasicButtonListener.mouseReleased (BasicButtonListener.java:252) en java.awt.Comp onent.processMouseEvent (Component.java:6533) en javax.swing.JComponent.processMouseEvent (JComponent.java:3324) en java.awt.Component.processEvent (Component.java:6298) en java.awt.Container.processEvent (Contant.protainer.vent .java: 2238) en java.awt.Component.dispatchEventImpl (Component.java:4889) en java.awt.Container.dispatchEventImpl (Container.java:2296) en java.awt.Component.dispatchEvent (Component.java:4711) en java.awt.LightweightDispatcher.retargetMouseEvent (Container.java:4897) en java.awt.LightweightDispatcher.processMouseEvent (Container.java:4534) en java.awt.LightweightDispatcher.dispatchEvent (Container.java:4475w) en java.avat. Container.dispatchEventImpl (Container.java:2282) en java.awt.Window.dispatchEventImpl (Window.java:2746) en java.awt.Component.dispatchEvent (Component.java:4711) en java.awt.EventQueue.dispatchEventImpl (EventQueue.dispatchEventImpl (EventQueue.dispatchEventImpl (EventQueue.dispatchEventImpl (EventQueue.dispatchEventImpl) .java: 760) en java.awt.EventQueue.access $ 500 (EventQueue.java:97) en java.awt.EventQueue $ 3.run (EventQueue.java:709) en java.awt.EventQueue $ 3.run (EventQueue.jav a: 703) en java.security.AccessController.doPrivileged (Método nativo) en java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:80) en java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege: ProtectionD90. en java.awt.EventQueue $ 4.run (EventQueue.java:733) en java.awt.EventQueue $ 4.run (EventQueue.java:731) en java.security.AccessController.doPrivileged (Método nativo) en java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent (EventQueue.java:730) at java.awt.EventDispatchThread.pumpOneEventForFilters (EventDispatchTh. EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.vamp. va: 93) en java.awt.EventDispatchThread.run (EventDispatchThread.java:82) Causado por: java.lang.ClassNotFoundException: org.apache.commons.compress.archivers.zip.ZipFile en java.net.URLClassLoader.findClass ( URLClassLoader.java:381) en java.lang.ClassLoader.loadClass (ClassLoader.java:424) en sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:349) en java.lang.ClassLoader.loadClass (ClassLoader.java : 357) ... 43 más Blockquote

i siguiendo el tutorial de este sitio:tutorials point, y probé cualquier solución de blog, foro, etc. pero nada funciona para mí. Este es mi código:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import view.Frame_surat;

/**
 *
 * @author nasution
 */
public class Model_dokumen {

    public void Cetak(Frame_surat fs) throws Exception {
        try {
            XWPFDocument document = new XWPFDocument();
//            XWPFDocument document = new XWPFDocument();//blank document
            //membuat paragraf

             //membuat dokumen surat keluar
            try (FileOutputStream outputStream = new FileOutputStream(new File("Surat_keluar.docx"))) {
                //membuat paragraf
                XWPFParagraph paragraf = document.createParagraph();
                XWPFRun run = paragraf.createRun();
                run.setText("ini adalah halaman dokumen yg baru saja dibuat menggunakan POI");
                document.write(outputStream);
            }
            JOptionPane.showMessageDialog(null, "Surat keluar berhasil dibuat");
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Model_dokumen.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Model_dokumen.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta