如何修复 "A JNI error has occurred, please check your installation."
How to fix "A JNI error has occurred, please check your installation."
我已经在 Eclipse 上编写了一个 Java 程序,我可以 运行 该程序。但是当我将它传输到 Notepad++ 并通过命令提示符 运行 时。它给了我一条错误信息。知道如何解决吗?
我已附上错误图片。
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: Assignment_2 has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown
at java.security.SecureClassLoader.defineClass(Unknown
at java.net.URLClassLoader.defineClass(Unknown
at java.net.URLClassLoader.access0(Unknown
at java.net.URLClassLoader.run(Unknown
at java.net.URLClassLoader.run(Unknown
at java.security.AccessController.doPrivileged(Native
at java.net.URLClassLoader.findClass(Unknown
at java.lang.ClassLoader.loadClass(Unknown
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown
at java.lang.ClassLoader.loadClass(Unknown
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
错误信息告诉你 class 版本不同。换句话说,您在 Eclipse 中使用的 Java 编译器比您在命令提示符中使用的 Java 运行时更新。你应该检查你想要哪个 Java 版本然后只使用这个版本。要更改您在命令提示符中使用的版本,您必须更改 path
环境变量以包含所需版本的路径。在 Eclipse 中,您可以 select 在设置中使用的版本。
由于我将文件夹名称命名为 java,我遇到了这个错误。然后,当我重命名保存我的 java 程序的文件夹时,它对我来说工作正常。
我遇到了同样的问题,但我遇到这个问题的原因是因为我创建了一个名为 Java 的包名称,当我尝试 运行 我的 class 时 - a-jni-error-has-occurred
但是在查看错误日志后我发现 Java 包名称被禁止,所以我更改了我的包名称并且它对我有用
你的回答有点引导我找到了解决方案。
我使用的包名为 java.example.java
,只是更改为 com.example.java
,它工作正常。
我已经在 Eclipse 上编写了一个 Java 程序,我可以 运行 该程序。但是当我将它传输到 Notepad++ 并通过命令提示符 运行 时。它给了我一条错误信息。知道如何解决吗?
我已附上错误图片。
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: Assignment_2 has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown
at java.security.SecureClassLoader.defineClass(Unknown
at java.net.URLClassLoader.defineClass(Unknown
at java.net.URLClassLoader.access0(Unknown
at java.net.URLClassLoader.run(Unknown
at java.net.URLClassLoader.run(Unknown
at java.security.AccessController.doPrivileged(Native
at java.net.URLClassLoader.findClass(Unknown
at java.lang.ClassLoader.loadClass(Unknown
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown
at java.lang.ClassLoader.loadClass(Unknown
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
错误信息告诉你 class 版本不同。换句话说,您在 Eclipse 中使用的 Java 编译器比您在命令提示符中使用的 Java 运行时更新。你应该检查你想要哪个 Java 版本然后只使用这个版本。要更改您在命令提示符中使用的版本,您必须更改 path
环境变量以包含所需版本的路径。在 Eclipse 中,您可以 select 在设置中使用的版本。
由于我将文件夹名称命名为 java,我遇到了这个错误。然后,当我重命名保存我的 java 程序的文件夹时,它对我来说工作正常。
我遇到了同样的问题,但我遇到这个问题的原因是因为我创建了一个名为 Java 的包名称,当我尝试 运行 我的 class 时 - a-jni-error-has-occurred
但是在查看错误日志后我发现 Java 包名称被禁止,所以我更改了我的包名称并且它对我有用
你的回答有点引导我找到了解决方案。
我使用的包名为 java.example.java
,只是更改为 com.example.java
,它工作正常。