如何使用 jdk 二进制文件 运行 Java class 文件?

How to run a Java class file with a jdk binary?

我已经下载了 jdk 个不同 JDK 版本的二进制文件 (jdk.tar.gz),比如 8u92, 8u1218u131 在目录中。

我想在每个 java 版本中 运行 一个 Java 程序并知道输出。有没有办法做到这一点?

像提取 jdk.tar.gz 之类的东西,将 class 文件放在 jdk 中的某处并执行?

先谢谢了。

最简单的方法是提取三个JDK版本,将.class文件放在每个文件夹中,运行每个文件夹中的terminal/cmd并使用java.exe MainClass 这样您就不会在 class 路径中使用 java 可执行文件,而是在您当前所在的文件夹中使用 java 可执行文件

您可以执行以下操作:

  • 将每个 jdk.tar.gz 提取到不同的文件夹中(比如 8u928u1218u131)。
  • 写一个小脚本到 运行 class 个不同 JRE version 的文件。以下是 windows 平台的脚本:

    @echo OFF setlocal set JDK_8U92=<PATH_OF_JDK_U92_FOLDER_WHERE_IT_IS_EXTRACTED> set JDK_8U121=<PATH_OF_JDK_U121_FOLDER_WHERE_IT_IS_EXTRACTED> set JDK_8U131=<PATH_OF_JDK_U131_FOLDER_WHERE_IT_IS_EXTRACTED> %JDK_8U92%/bin/java.exe %1 >%1_JDK_8U92.txt %JDK_8U121%/bin/java.exe %1 >%1_JDK_8U121.txt %JDK_8U131%/bin/java.exe %1 >%1_JDK_8U131.txt endlocal @echo ON

  • 保存脚本文件。这里我假设文件名是MultiJDKExecute.bat。给运行一个class文件名Abc.class,运行命令MultiJDKExecute.bat Abc

  • 现在您可以在 _JDK_8U_.txt

  • 中看到相应的输出

注意: 如果您希望在屏幕上看到输出,请从每行中删除选项 >%1_JDK_8U<JDK Version>.txt