导出到.jar文件并在Windows cmd中运行-JNI错误?

问题描述 投票:0回答:1

[我在Eclipse IDE(版本:2019-09 R(4.13.0))中创建了一个具有多个类的Java程序,这些类应该在终端中运行(例如,cmd)。

为此,我首先尝试导出我的项目:导出...>可运行的JAR文件

我选择Main类作为启动配置,然后单击单选按钮“将所需的库提取到生成的JAR中”。我完成了,出口似乎运转良好。

我知道尝试通过以下尝试在cmd中运行此程序:https://stackoverflow.com/a/5774976/11583484java -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文件发送给需要稍后能够正常运行的其他人。

java eclipse cmd jar executable-jar
1个回答
0
投票

general / Main已由较新版本的Java Runtime编译(类文件版本54.0),此版本的Java Runtime仅可识别52.0以下的类文件版本

您已经使用Java 10(“类文件版本54”)编译了项目,并使用Java 8(“识别到52.0以下的类文件版本”来运行它。

请参阅这些文章以获取更多信息:

© www.soinside.com 2019 - 2024. All rights reserved.