java - Apache POI 库中的 JNI 错误
问题描述
所以我目前正在尝试从 Windows 的命令行执行 Java 程序。
import java.io.*;
import java.util.*;
import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
在命令行中,我考虑了多个库,Apache (3.17) 出现了错误。我检查了构建路径,所有外部库都在命令行中编译,没有问题
cd C:\Users\Joshuab\Desktop\ATS\workExcelApplication\src
set path=%path%;C:\Program Files\Java\jdk1.8.0_172\bin
javac -cp C:\Users\Joshuab\Desktop\ATS\ATS\API\poi-3.17\/* Check.java
java Check
在java Check
命令行我得到错误
Error: A JNI error has occurred, please check your installation and
try again Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/poi/ss/use rmodel/Row
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Row
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)
... 7 more
我四处寻找解决方案,找到其他有类似问题的人,但没有解决方案。所以我的问题是:
- 什么/哪里有问题。
- 我该如何解决
- 如果有解决方案或文档,您可以发送链接或任何相关内容。
解决方案
解决方案
cd C:\Users\Joshuab\Desktop\ATS\workExcelApplication\src
set path=C:\Program Files\Java\jdk1.8.0_172\bin
java -cp ".\*;" Check
如果他们有类似的问题,需要一段时间才能弄清楚并帮助其他人。我在 javac 文档中找到了解决方案,您可以在此处找到:https ://docs.oracle.com/javase/6/docs/technotes/tools/windows/javac.html
因此,当使用解释器时,您需要指定 API 和其他外部库,使用 ".\ *;" 是所有外部库的当前目录。
推荐阅读
- python - 如何修复熊猫列标题?
- firebase - Wear OS 2 上的 Nativescript
- ms-access - 在动态搜索中键入字母时反转文本搜索
- c++ - 我无法在 Rich Edit Control (Consolas) 中设置所需的字体
- laravel - 将变量从控制器传递到 Laravel 中的通知
- python - 我的联系页面在 heroku 上显示错误“没有名为“'django”的模块”,但它在我的本地计算机上工作正常
- php - mysql php查询CREATE VIEW多表成一张表
- javascript - 函数到 JS 和 JSX 文件之间的通信问题
- java - 如何调用具有不同泛型类型的方法
- angular - 如何取消选中有角度的垫子收音机下拉?