从 Java 8 切换到 Java 11

新手上路,请多包涵

我已经从oracle官网下载并安装了oraclejdk11,并修改了windows系统环境变量中的PATH&JAVA_HOME变量

C:\Users\Aviral>javac -version

javac 11.0.1

C:\Users\Aviral>java -version

Java 版本“1.8.0_102”

Java™ SE 运行时环境(build 1.8.0_102-b14)

Java HotSpot™ 64 位服务器 VM(构建 25.102-b14,混合模式)

我知道 jdk11 不包含 jre 但我如何在 java 11 中从 cmd 运行 java 程序

原文由 Aviral Ahuja 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

JDK 包含 JRE,您可以使用 java bin 文件夹中的可执行文件启动它。您可以像使用任何其他可执行文件一样使用此可执行文件。

当您在命令行中键入 java 时,它实际上是速记。它会搜索您的 PATH 直到找到第一个匹配的 java 可执行文件。如果您想指定一个不同的 java 可执行文件,您可以提供该可执行文件的绝对路径。

 C:\Users\Avril> "C:\Program Files\Java\jdk-11.0.1\bin\java" -jar path\to\file.jar

您可能想知道,如果您设置 JAVA_HOMEPATH 指向 JDK-11,为什么 java -version 仍然使用 Javadaf-8-?

看看你的 PATH 你可能会发现像 C:\ProgramData\Oracle\Java\javapath 这样的东西作为第一个条目之一( 见 this )。当您安装 Java 8 并指向 Java 8 可执行文件( javajavawjavaws )时,会自动添加该条目。因为它在您的 %JAVA_HOME%\bin 条目之前,所以它优先。 However, ...\javapath doesn’t contain javac and that’s why javac -version used JAVA_HOME (Java 11).

原文由 Slaw 发布,翻译遵循 CC BY-SA 4.0 许可协议

bin 文件夹包含所有传统的 JRE 工具。在 Java 11 中,合并了 JDK 和 JRE 工具,因此 JDK 11 中没有 JRE。

原文由 Prasanth Nair 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题