Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java1.8.0_112和Apache POI的JNI错误_Java_Batch File_Java 8_Java Native Interface_Apache Poi - Fatal编程技术网

Java1.8.0_112和Apache POI的JNI错误

Java1.8.0_112和Apache POI的JNI错误,java,batch-file,java-8,java-native-interface,apache-poi,Java,Batch File,Java 8,Java Native Interface,Apache Poi,我刚刚在Windows7机器上安装了Java1.8.0112,jdk和jre都是64位的 我试图通过.bat文件运行我的一个程序,但出现以下错误: 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/Workbook

我刚刚在Windows7机器上安装了Java1.8.0112,jdk和jre都是64位的

我试图通过.bat文件运行我的一个程序,但出现以下错误:

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/Workbook
    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.Workbook
    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
我已经卸载并重新安装了jre,并且重新启动了我的机器。我已经确定我指向了所有需要的库

真正让我困惑的是,这个错误显示的是POI工作簿,但我有我需要的所有apache库及其相应的依赖项,所以我不确定这是一个问题的原因。正如我所说,它在jdk上的Netbeans中运行起来很有魅力,但当我通过.bat在我的桌面上运行它时,它完全崩溃了

该程序在Netbeans8环境中运行良好,该环境使用jdk 1.8.0_112和JDK8二进制文件

我的.bat文件如下所示,为了可读性,我添加了换行符:

C:\jre1.8.0_112\bin\java -cp 
"T:\Netbeans Projects\MatchReport\build\classes;
S:\ADSJava\Jars\lib\poi-3.15.jar;
S:\ADSJava\Jars\lib\poi-ooxml-3.15.jar;
S:\ADSJava\Jars\lib\poi-ooxml-schemas-3.15.jar;
C:\Users\Jessica\Desktop\lib\xmlbeans-2.6.0.jar;
S:\ADSJava\Jars\lib\dom4j-1.6.1.jar;
S:\ADSJava\Jars\lib\commons-io-2.5.jar;
S:\ADSJava\Jars\lib\junit-4.12.jar;
S:\ADSJava\Jars\lib\commons-codes-1.10.jar;
S:\ADSJava\Jars\lib\commons-collections4-4.1.jar;
C:\Users\Jessica\Desktop\lib\DataServer.jar;
C:\Users\Jessica\Desktop\lib\ucanaccess-3.0.4.jar;
C:\Users\Jessica\Desktop\lib\jackcess-2.1.3.jar;
C:\Users\Jessica\Desktop\lib\xbeans.jar;
C:\Users\Jessica\Desktop\lib\commons-logging-1.0.4.jar;
C:\Users\Jessica\Desktop\lib\hsqldb.jar;
C:\Users\Jessica\Desktop\lib\commons-lang-2.4.jar" 
ads.ADSMatchReport2 
"Toyota Of Turnersville Control.txt" 2>&1> MatchReportResults.txt

任何帮助或指导都将不胜感激,谢谢

找到了解决办法。.bat文件不喜欢我在混合驱动器上使用库。将所有库移动到my
C:
或网络
S:
驱动器解决了此问题


无论出于何种原因,Netbeans能够处理多个位置的库,但.bat文件不能。

不确定这是否有任何区别,但这些网络映射共享(T:,S:)是吗?当你把这些罐子移到C:,会发生什么?当您使用不同/旧的JDK时会发生什么?如果只使用非常基本的POI示例而不使用其他与POI无关的LIB,会发生什么情况?似乎网络驱动器
S:
没有正确映射。如果打开一个
CMD
并键入
S:
[Enter],然后键入
dir ADSJava
[Enter],会显示目录列表吗?对于kiwiwings和Axel,这些驱动器都是网络驱动器,并且都是映射的,我有与这两者交互的程序,当我在ADSJava上列出目录时,我会得到预期的7个文件和25个子目录的列表。我要看看如何把poi罐子放在C:上,看看会发生什么。谢谢你们两位的反馈!