从 java 8 切换到 java 11

2022-09-04 07:31:31

我已经从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(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

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


答案 1

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

当您在命令行中键入时,它实际上是速记。它会搜索您的,直到找到第一个匹配的可执行文件。如果要指定其他可执行文件,可以指定可执行文件的绝对路径。javaPATHjavajava

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

您可能想知道,如果您已经设置并指向JDK-11,为什么仍然使用Java 8?JAVA_HOMEPATHjava -version

看看你的,你可能会发现类似的东西作为第一个条目之一(见这个)。此条目是在安装 Java 8 时自动添加的,并指向 Java 8 可执行文件(、和 )。由于它位于您的条目之前,因此它优先。但是,不包含,这就是使用(Java 11)的原因。PATHC:\ProgramData\Oracle\Java\javapathjavajavawjavaws%JAVA_HOME%\bin...\javapathjavacjavac -versionJAVA_HOME


答案 2

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


推荐