我需要用JDK 13.0.2编译什么版本的JRE?

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

我在想,要想用Java打印一个 "HELLO WORLD "到我的机器上,我必须要做什么。

主要是当我编译代码时,当我想运行它时,出现了这样的情况。

IMAGE:点击查看图片

实际代码错误。

`C:\Users\Pedro\Documents\java>java Myfirst
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: Myfirst 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)

C:\Users\Pedro\Documents\java>`

所以,我发现问题出在JRE(Java Runtime Enviroment)上。

我的Java版本。

java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) Client VM (build 25.251-b08, mixed mode, sharing)

我的Javac版本

javac 13.0.2

为了解决这个问题,我想知道:

  1. 我需要什么版本的JRE才能成功编译我的程序?
  2. 如果第N°1项不是问题,我该如何解决?
java jvm javac
1个回答
0
投票

从Java 11开始,JRE就不存在了。你只需要安装JDK,并设置好JDK的路径。bin 文件夹。

您所需要做的就是设置好 bin 文件夹 JDK 13.0.2 环境变量中。PATH 并将此条目移至顶部。我也建议你两个都这样做。用户 变量以及 体系 变量。

在这之后,你需要打开一个新的 cmd 窗口,然后再次检查版本。现在,你会看到 java -version 返回 JDK 13.0.2.

现在,编译程序并运行它--或者--简单地执行以下操作 java Myfirst.java 因为从Java 11开始,你可以运行一个java文件(只要文件中最上面的类具有 main)而不编译。


0
投票

你必须重新安装java使用链接下载。

下载java与Netbeans!

从控制面板中完全卸载java,确保卸载所有的组件,并安装下载的文件,所有的包都在一个地方。


0
投票

为什么你有不同版本的JDK和JRE?这看起来很奇怪。

我会这样做。1) 卸载所有的JDK和JRE。2)安装JDK 8,在安装过程中告诉安装程序不要安装独立的JRE、浏览器插件或类似的东西。只安装JDK。

这是我一般的建议,以避免麻烦。这样你就只有一个JDK,它同时也提供了一个JRE(那么JRE java 将与编译器的版本相同。鸦片).

关于你的问题。

A) 要么用与你编译的JDK版本相同的JRE版本(13.0.2)运行.

B) 或者在编译时指定 java -source 1.8 MySourceFile.java 然后你就可以用JRE 1.8运行它了。

但在玩A)和B)之前,先按照一般的建议进行。

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