首先,我想让你知道我在用什么:

  • Eclipse IDE 2018-09(4.9.0)Java-SE 10

  • Apache POI 4.0.0-20180907

我没有将任何JAR文件与其他版本混合,我将除了“poi-examples-4.0.0”之外的文件夹中的所有JAR添加到我的项目中 .

我们来看看这段代码:

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;

public class Program
{
    public static void main(String[] args)
    {
        Workbook workbook = new HSSFWorkbook();
    }
}

我收到此错误:

线程“main”中的异常java.lang.NoClassDefFoundError:org / apache / poi / hssf / usermodel / HSSFWorkbook at Program.main(Program.java:8)引起:java.lang.ClassNotFoundException:org.apache.poi . 位于java.base / jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)的hssf.usermodel.HSSFWorkbook,位于java.base / jdk.internal.loader.ClassLoaders $ AppClassLoader.loadClass(ClassLoaders.java:178)at at java.base / java.lang.ClassLoader.loadClass(ClassLoader.java:521)... 1更多

如果我正在尝试这段代码:

import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class Program
{
    public static void main(String[] args)
    {
        Workbook workbook = new XSSFWorkbook();
    }
}

我收到此错误:

线程“main”中的异常java.lang.NoClassDefFoundError:org / apache / poi / xssf / usermodel / XSSFWorkbook at Program.main(Program.java:8)引起:java.lang.ClassNotFoundException:org.apache.poi . xssf.usermodel.XSSFWorkbook位于java.base / jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582),位于java.base / jdk.internal.loader.ClassLoaders $ AppClassLoader.loadClass(ClassLoaders.java:178)at at java.base / java.lang.ClassLoader.loadClass(ClassLoader.java:521)... 1更多

有人可以解释一下我做错了什么吗?