因此,我目前正在尝试从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
我一直在寻找解决方案,以找到其他有类似问题的解决方案,但没有解决方案。所以我的问题是:
答案 0 :(得分:0)
解决方案
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和其他外部库。是包含所有外部库的当前目录。