我有一个简单的Java程序,由两个.java文件组成。当从我的IDE (IntelliJ)执行时,它运行得很好。它还编译得很好(通过javac实用程序)。但是,当我试图从Windows命令提示符(使用java <<myClassName>>)运行它时,我得到了以下错误:
Exception in thread "main" java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=RunExport, offset=6
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:364)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:154)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:777)
at java.net.URLClassLoader.access$400(URLClassLoader.java:96)
at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1225)
at java.security.AccessController.doPrivileged(AccessController.java:366)
at java.net.URLClassLoader.findClass(URLClassLoader.java:660)
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:942)
at java.lang.ClassLoader.loadClass(ClassLoader.java:851)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:827)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:494)我已经阅读了各种问题,并提出了解决这个错误的方法,但是我没有能够解决它。用于编译代码的Java版本似乎与我正在运行它的JRE版本不一样。我正在使用jdk1.8.0_91。我使用的javac.exe和java.exe文件都在C:\Program Files\Java\jdk1.8.0_91\bin中。这也是在我的Windows PATH环境变量中定义的路径。
发布于 2017-07-05 15:17:41
此错误意味着您正在使用不同的、不兼容的Java版本编译和运行。
执行java -version和javac -version来了解这些命令实际使用的版本。
然后,要修复该版本,您有三个选项:
本材料取自Carlos Heuberger的评论
发布于 2017-06-30 18:29:41
您的IntelliJ可能指的是默认的JRE。通过这个链接https://www.jetbrains.com/help/idea/2017.1/defining-a-jdk-and-a-mobile-sdk-in-intellij-idea.html来设置intelliJ。确保is指向配置为您的路径的JRE。
https://stackoverflow.com/questions/44852601
复制相似问题