首页 > 解决方案 > 我正在尝试实例化 XSSFWorkbook,Java 抛出 ClassNotFoundException(cn)(仅在调试中)

问题描述

当我尝试实例化 XSSFWorkbook Java 时抛出 ClassNotFoundException(cn)

cn 值为 = "org.apache.xerces.util.SecurityManager"

我的代码是这样的:

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

String filePath = "C://fakename.xlsx"

if(Files.exists(Paths.get(filePath))) { 
    FileInputStream fis = null; 
    try { 
        fis = new FileInputStream(new File(filePath));
    } catch (FileNotFoundException e) { 

    }
              
    XSSFWorkbook wb = null;
    
    try { 
                  
        wb = new XSSFWorkbook(fis);
    } 
    catch (Exception ex ) {
        ex.printStackTrace();
    }
              
}

正如您可能理解的那样,导入该类或在代码中调用它没有问题(我可以通过自动完成(智能感知)看到建议)

在此处输入图像描述

这些是依赖项

我不是 Java 开发人员,我在做自己的研究,尝试更改依赖项但还没有,在一个旧项目中我确实使用过这个,我从来没有遇到过问题。

你们有人能给我一些提示吗?

谢谢你

编辑:这个问题只发生在调试中,就像这个异常中有断点一样。

在此处输入图像描述

但是,如果我禁用它,我就不能再调试我的软件了。

太奇怪了。

标签: javadependenciesapache-poiclassnotfoundexceptionxssf

解决方案


由于您的开发环境还建议代码完成,因此必须加载正确的 jar。可能您的执行环境没有加载所有需要的 jar。在这种情况下,必须加载 poi-5.0.0.jar 和 poi-ooxml-5.0.0.jar。org.apache.poi.xssf 包位于 poi-ooxml-5.0.0.jar 文件中。

如果您确保在执行时加载了这个 jar,那么一切都应该没问题。因此,请检查执行环境中的类路径设置。


推荐阅读