使用JDK 13进行编译,并在JRE 8上运行。

huangapple go评论82阅读模式
英文:

Compile with JDK 13 and run with JRE 8

问题

我编译了我的程序,但在尝试运行时出现以下错误:

错误:发生了 JNI 错误,请检查您的安装并重试
"main"线程中的异常 java.lang.UnsupportedClassVersionError: Lanceur 已由更高版本的Java运行时编译(类文件版本57.0),此版本的Java运行时仅能识别高达52.0的类文件版本
在java.lang.ClassLoader.defineClass1(本机方法)中
在java.lang.ClassLoader.defineClass(未知源)中
在java.security.SecureClassLoader.defineClass(未知源)中
在java.net.URLClassLoader.defineClass(未知源)中
在java.net.URLClassLoader.access$100(未知源)中
在java.net.URLClassLoader$1.run(未知源)中
在java.net.URLClassLoader$1.run(未知源)中
在java.security.AccessController.doPrivileged(本机方法)中
在java.net.URLClassLoader.findClass(未知源)中
在java.lang.ClassLoader.loadClass(未知源)中
在sun.misc.Launcher$AppClassLoader.loadClass(未知源)中
在java.lang.ClassLoader.loadClass(未知源)中
在sun.launcher.LauncherHelper.checkAndLoadMain(未知源)中

我尝试“移动” JDK 13 到 PATH 的顶部,重新启动了计算机,但没有任何变化。这是一个截屏:

使用JDK 13进行编译,并在JRE 8上运行。

然后我尝试下载 JRE 13,但无法在任何地方找到。

我该如何做?
我无法升级到 JDK 14 或更高版本,因为这些版本中删除了我需要的某些内容。

英文:

I compiled my program, but when i try to run it, i get this error :

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: Lanceur has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the J    ava 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)

I tried to "move" the JDK 13 all the way up in PATH, restarted my PC, but nothing changed. Here is a screenshot :

使用JDK 13进行编译,并在JRE 8上运行。

I then tried to download JRE 13, but can't find it anywhere.

How can i do this ?
I can't update to JDK 14 or up, because i need something that was removed in these versions

答案1

得分: 3

由于您没有构建环境,您需要使用以下命令进行构建:

javac -target 1.8 -source 1.8 MainClass.java

Java 的版本管理可能会让人感到困惑,但在您逐渐适应之前,请使用版本 13。

英文:

As you're compiling without a build environment, you'll need to build with:

javac -target 1.8 -source 1.8 MainClass.java

Java versioning is confusing but stick with 13 until you get used to it.

huangapple
  • 本文由 发表于 2020年9月25日 23:37:49
  • 转载请务必保留本文链接:https://go.coder-hub.com/64067244.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定