首页 > 解决方案 > 线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream

问题描述

我正在尝试使用 Apache POI 在 Java 中创建 docx 文件。这是我的代码..

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class DocGen {



    private static void createDocFile(String fileName) {
        // TODO Auto-generated method stub
        try {
            File file = new File(fileName);
            FileOutputStream fos = new FileOutputStream(file.getAbsolutePath());

            XWPFDocument doc1 = new XWPFDocument();
            XWPFParagraph tempParagraph = doc1.createParagraph();
            XWPFRun tempRun = tempParagraph.createRun();

            tempRun.setText("-----Demo Paragraph-----");
            tempRun.setFontSize(12);
            doc1.write(fos);
            fos.close();
            doc1.close();
            System.out.println("-----------File Created At---------"+file.getAbsolutePath());


        }catch(Exception e) {
            System.out.println("-----Exception------"+e);
        }

    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        createDocFile("/home/yashpatel/Documents/Doc1.docx");
        createDocFile("/home/yashpatel/Documents/Doc1.doc");
    }

}

以下是我添加的jar文件.. 在此处输入图像描述

我收到以下错误..

线程“主”java.lang.NoClassDefFoundError 中的异常:org.apache.poi.openxml4j.opc.OPCPackage.create(OPCPackage.java:365) 的 org.apache.poi.openxml4j.opc.OPCPackage.create(OPCPackage.java:365) 处的 org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream .poi.xwpf.usermodel.XWPFDocument.newPackage(XWPFDocument.java:158) 在 org.apache.poi.xwpf.usermodel.XWPFDocument.(XWPFDocument.java:149) 在 DocGen.createDocFile(DocGen.java:17) 在 DocGen .main(DocGen.java:37) 原因:java.lang.ClassNotFoundException: org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang .ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 还有 5 个

标签: javaapache-poi

解决方案


推荐阅读