gpt4 book ai didi

java - 无法使用 Apache POI 打开 XLSX 文件 : NoClassDefFoundError

转载 作者:行者123 更新时间:2023-12-02 05:07:21 25 4
gpt4 key购买 nike

我在尝试使用 Apache POI 打开 XLSX 文件时遇到问题。

我的代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelTest {
public static void main(String[] args) {
try(FileInputStream f = new FileInputStream(new File("path/to/my/file.xlsx"))) {
XSSFWorkbook wb = new XSSFWorkbook(f); // This is the line throwing the exception
} catch(IOException e) {
System.err.println(e.getMessage());
e.printStackTrace(System.err);
}

}
}

抛出异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException
at my.TEST.ExcelTest.main(ExcelTest.java:24)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 1 more

背景:

  • 在 MacOS X (Mavericks) 上运行 JDK 7
  • 使用 NetBeans
  • 导入的 jar 文件(全部来自 Apache POI 二进制发行版):
    • poi-3.11-20141221.jar
    • poi-ooxml-3.11-20141221.jar
    • poi-ooxml-schemas-3.11-20141221.jar
    • commons-codec-1.9.jar
    • log4j-1.2.17.jar

我什至无法开始做真正的事情,因为我什至无法打开书! :(

当我看到异常时,我想“好吧,让我们获取 xmlbeans 看看它是否有效”,但是 xmlbeans 被移到了 Apache 的阁楼中。

我错过了什么吗?如何打开工作簿?

最佳答案

我认为您也需要 xmlbeans-2.6.0.jar 是正确的。这似乎是 Poi 的依赖项之一。我使用 poipoi-scratchpadpoi-ooxmlpoi-ooxml-schemas 设置了一个残留的 Maven 项目code> 作为我的直接依赖项。 Maven 将这些其他 JAR 作为依赖项拉入:

  • commons-codec-1.9.jar
  • xmlbeans-2.6.0.jar
  • stax-api-1.0.1.jar

经过进一步调查,我发现 stax-apixmlbeans 的传递依赖项。

关于java - 无法使用 Apache POI 打开 XLSX 文件 : NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27661125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com