当前位置: 首页 > 知识库问答 >
问题:

JRE 281不能运行OpenJDK编译的jar[重复]

淳于功
2023-03-14

我已经编辑好了。jar使用OpenJDK13,这是最新的JRE(281)无法运行的。可以吗?(OpenJDK可以运行这个.jar,但普通人不会使用它)

这是输出:

$ ./java -jar HelloWorld.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld has been compiled by a more recent version of the Java Runtime (class file version 57.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 Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

共有1个答案

陆俊智
2023-03-14

这似乎不言而喻:

Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the Java Runtime only recognizes class file versions up to 52.0

为什么要反抗?

如果我想生成代码供其他人运行,那么目前我仍然使用JDK11(=来自OpenJDK的LTS版本)。

 类似资料:
  • 按照https://openjfx.io/openjfx-docs/#安装-javafx https://openjfx.io/openjfx-docs/#安装-javafx的说明,我通过以下方式编译了示例hellofx.java: 我有错误: 错误:找不到模块:javafx.controls 1错误 然后按照指令添加行:javac--module-path$path_to_fx--add mod

  • 下面的Ant构建编译成功。 它也不在指定的类路径中创建jar文件。 build.xml 编辑:让它运行。没有编辑Build.xml,而是转到,由于某种原因,未选中运行目标。 我检查了它,现在目标运行,但会产生下面的错误日志。 我是否需要对xml文件进行编辑才能运行它并创建一个JAR?

  • 按照https://openjfx.io/openjfx-docs/#install-javafx的说明,我通过以下方式编译了示例HelloFX. java: 但是现在如果我试着运行它。。。 ... 我得到一个错误: 然而,报告为未找到的文件在那里: (我已经将权限更改为添加,以防出现问题,但显然这不是问题所在。 怎么了? (是的,指向)

  • 但是当我试图在Netbeans中清理和构建它时,它被这条线噎住了: 错误是:

  • 我有一个jar文件在某些特性只属于(用于ex lambda表达式),所以它是在中编译的。同一jar具有属于和的一些特性。现在,我希望当用户在中运行这个jar时,相关类应该可以工作,因为他/她只想要在上工作的功能。如果他/她想要与Java8相关的功能,他将使用运行它。