[我在Eclipse IDE(版本:2019-09 R(4.13.0))中创建了一个具有多个类的Java程序,这些类应该在终端中运行(例如,cmd)。
为此,我首先尝试导出我的项目:导出...>可运行的JAR文件
我选择Main类作为启动配置,然后单击单选按钮“将所需的库提取到生成的JAR中”。我完成了,出口似乎运转良好。
我知道尝试通过以下尝试在cmd中运行此程序:https://stackoverflow.com/a/5774976/11583484(java -jar fdm.jar
)
现在发生错误:
Exception in thread "main" java.lang.UnsupportedClassVersionError: general/Main has been compiled by a more recent version of the Java Runtime (class file version 54.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(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
在某些时候,Java版本似乎有问题,可能发生了什么,我该怎么避免?我想将.jar文件发送给需要稍后能够正常运行的其他人。
general / Main已由较新版本的Java Runtime编译(类文件版本54.0),此版本的Java Runtime仅可识别52.0以下的类文件版本
您已经使用Java 10(“类文件版本54”)编译了项目,并使用Java 8(“识别到52.0以下的类文件版本”来运行它。
请参阅这些文章以获取更多信息: