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

标签 java jvm javac

我正在弄清楚我必须做什么才能使用 Java 将“Hello World”打印到我的 PC 中。
主要是当我编译代码时,当我想运行它时,会出现:
图片:
Click to see the 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 运行时环境)上。
我的 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
为了解决这个问题,我想知道:
  • 我需要什么版本的 JRE 才能成功编译我的程序?
  • 如果第 1 项不是问题,我该如何解决?
  • 最佳答案

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

    您需要做的就是设置bin的路径JDK 13.0.2 的文件夹在环境变量中,PATH并将此条目移至顶部。我也建议你同时做,用户 变量以及 系统变量。

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

    现在,编译程序并运行它 - 或者 - 只需执行 java Myfirst.java从 Java 11 开始,您可以在不编译的情况下运行 Java 文件(前提是文件中最顶层的类具有 main)。

    关于java - 我需要使用 JDK 13.0.2 编译什么版本的 JRE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61807697/

    相关文章:

    java - 从终端编译时,Swing GUI 出现 IntelliJ 错误 "contentPane cannot be set to null."

    java - 如何在命令行中编译多个java源文件

    javac 不会编译枚举,( Windows Sun 1.6 --> OpenJDK 1.6)

    java - 在 Android 应用程序中切换基于关闭对话框按钮选择的开关

    java - Vararg 方法覆盖/重载混淆

    amazon-ec2 - EC2 上运行的 Java 应用程序的 JVM 指标

    java - Java 中的 getGenericSuperclass()。它是如何工作的?

    java - 尝试在 yahoo streaming-benchmark 上运行 STORM_TEST 时出错

    java - 轻松生成休息服务的解决方案?

    java - 使用 Arrays.copyOf 的 minSdkVersion 应该是什么; jackson 问题