java.lang.NoClassDefFoundError: org/json/JSONException
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.json.JSONException
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
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main"
每当我尝试运行 .jar 文件时,都会出现上述错误。java -version 和 javac -version 是相同的。我还在环境变量中设置了类路径。但我仍然收到上述错误。任何人都可以提供一个解决这个问题?
最佳答案
问题: java.lang.ClassNotFoundException 或 java.lang.NoClassDefFoundError 表示 JVM 在类路径上找不到消息中提到的类:org/json/JSONException。
解决方案: 或者,您需要将整个 jar 添加到您的类路径中 (有关如何执行此操作,请访问:Official Oracle's documentation on adding classes to classpath 或 5 ways to add multiple jars to classpath
或者,如果您使用像 Maven 这样的构建工具,您可以为缺少的类添加依赖项:
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20200518</version>
</dependency>
您还可以在链接中找到整个 jar :Maven repo link for json dependency .
关于java - 发生 JNI 错误,请检查您的安装并重试。(尽管 Java -version 和 javac -version 也相同),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62084124/