我编写了一个java程序来将输入的xml文件转换为其他一些xml文件。在执行此操作时,我使用 excel 文件,并使用 apache-poi 库访问 xml 文件。
当我在 Eclipse 中运行我的程序时,它工作正常并给出所需的结果。现在我将项目导出到 jar 文件中,并在导出到 jar 时选择了我的主类。但是当我运行 jar 文件时,出现以下异常:
D:\>java -jar EDR_to_DER_with_excel.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Workbook
Caused by: java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Workbook
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: com.unisys.xml.TestExcel. Program will exit.
该错误与我正在使用的库有关。但我不知道为什么会这样,因为我能够在eclipse中运行该程序。库类在 jar 文件中是否可用>如果不是,我如何在导出时将其提供给 jar?
最佳答案
Apache POI 库似乎不在类路径
中
将库的位置添加到系统的 PATH
变量中(假设 Windows 基于 D:\驱动器)。
关于java - 线程 "main"java.lang.NoClassDefFoundError : org/apache/poi/ss/usermodel/Workbook while running jar file 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33876135/