我在Eclipse上写了一个Java程序,我可以运行这个程序。但是当我把它转移到记事本++并通过命令提示符运行它时,它给了我一个错误信息。有什么解决办法吗?
我已附上错误的图像。
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.access$100(Unknown
at java.net.URLClassLoader$1.run(Unknown
at java.net.URLClassLoader$1.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)
5条答案
按热度按时间58wvjzkj1#
错误消息告诉您类版本不同。换句话说,您在Eclipse中使用的Java编译器比您在命令提示符中使用的Java运行时更新。您应该检查所需的Java版本,然后仅使用此版本。要更改您在命令提示符中使用的版本,必须更改
path
环境变量以包含所需版本的路径。在Eclipse中,您可以在设置中选择使用的版本。jv2fixgn2#
我也遇到过同样的问题,但我之所以会这样做,是因为我创建了一个名为Java的包,当试图运行我的类时,出现了-a-jni-error
但是在查看错误日志后,我发现Java包名是被禁止的,所以我更改了我的包名,它对我有效
dgtucam13#
我遇到这个错误是因为我把文件夹命名为java,然后我重命名了保存java程序的文件夹,它对我来说很好用。
c6ubokkw4#
你的回答引导我找到了一个解决方案。我使用的软件包名为
java.example.java
,只是改为com.example.java
,它工作得很好。14ifxucb5#
我发现Java 11安装程序默认设置JAVA_HOME变量和JavaSoft注册变量为exclude(红色叉号)。确保您选择这两个变量以添加完整功能。完成Java安装,然后重新安装应用程序。瞧!!!
image