从 java 8 切换到 java 11
Switching to java 11 from java 8
我已经从oracle官网下载并安装了oraclejdk11,并在windows
上修改了系统环境变量中的PATH&JAVA_HOME变量
C:\Users\Aviral>javac -version
javac 11.0.1
C:\Users\Aviral>java-版本
java版本“1.8.0_102”
Java(TM) SE 运行时环境(build 1.8.0_102-b14)
Java HotSpot(TM) 64 位服务器 VM(构建 25.102-b14,混合模式)
我知道 jdk11 不包含 jre 但我如何 运行 在 java 11
中从 cmd java 程序
bin 文件夹包含所有传统的 JRE 工具。在 Java 11 中,JDK 和 JRE 工具都被合并,因此 JDK 11 中没有 JRE。
JDK 包含 JRE,您可以使用 bin
文件夹中的 java
可执行文件启动它。您可以像使用任何其他可执行文件一样使用此可执行文件。
当您在命令行中键入 java
时,它实际上是 shorthand。它会搜索您的 PATH
,直到找到第一个匹配的 java
可执行文件。如果您想指定一个不同的 java
可执行文件,您可以给出可执行文件的绝对路径。
C:\Users\Avril> "C:\Program Files\Java\jdk-11.0.1\bin\java" -jar path\to\file.jar
你可能想知道,如果你已经设置JAVA_HOME
和PATH
指向JDK-11,为什么java -version
仍然使用Java 8?
看看您的 PATH
,您可能会发现类似 C:\ProgramData\Oracle\Java\javapath
的内容是第一个条目 ()。此条目是在您安装 Java 8 并指向 Java 8 可执行文件(java
、javaw
和 javaws
)时自动添加的。由于它在您的 %JAVA_HOME%\bin
条目之前,因此它具有优先权。但是,...\javapath
不包含 javac
,这就是为什么 javac -version
使用 JAVA_HOME
(Java 11).
为了使用 java11 从另一个文件夹而不是 bin 执行程序,您必须按如下方式设置 JAVA_HOME 路径 from CMD:
以管理员身份打开 CMD
将JAVA_HOME设置为JDK11 bin文件夹
setx -m JAVA_HOME "C:\Program File\Java\..."
我从JDK8升级到JDK11.添加Java11后路径[点路径最多
bin foler ] 和 JAVA_HOME [ 最多 jdk 个文件夹 (不包括 bin ) ]
成功,
java -version
仍然指向以前的 java 版本(在我的例子中是 java 8。)
然后,我运行一个命令"setx -m JAVA_HOME "C:\Program Files\Java\jdk-11.0.7"
现在 java -version
或 javac -version
都显示 java 11。
希望对你也有帮助。
我已经从oracle官网下载并安装了oraclejdk11,并在windows
上修改了系统环境变量中的PATH&JAVA_HOME变量C:\Users\Aviral>javac -version
javac 11.0.1
C:\Users\Aviral>java-版本
java版本“1.8.0_102”
Java(TM) SE 运行时环境(build 1.8.0_102-b14)
Java HotSpot(TM) 64 位服务器 VM(构建 25.102-b14,混合模式)
我知道 jdk11 不包含 jre 但我如何 运行 在 java 11
中从 cmd java 程序bin 文件夹包含所有传统的 JRE 工具。在 Java 11 中,JDK 和 JRE 工具都被合并,因此 JDK 11 中没有 JRE。
JDK 包含 JRE,您可以使用 bin
文件夹中的 java
可执行文件启动它。您可以像使用任何其他可执行文件一样使用此可执行文件。
当您在命令行中键入 java
时,它实际上是 shorthand。它会搜索您的 PATH
,直到找到第一个匹配的 java
可执行文件。如果您想指定一个不同的 java
可执行文件,您可以给出可执行文件的绝对路径。
C:\Users\Avril> "C:\Program Files\Java\jdk-11.0.1\bin\java" -jar path\to\file.jar
你可能想知道,如果你已经设置JAVA_HOME
和PATH
指向JDK-11,为什么java -version
仍然使用Java 8?
看看您的 PATH
,您可能会发现类似 C:\ProgramData\Oracle\Java\javapath
的内容是第一个条目 (java
、javaw
和 javaws
)时自动添加的。由于它在您的 %JAVA_HOME%\bin
条目之前,因此它具有优先权。但是,...\javapath
不包含 javac
,这就是为什么 javac -version
使用 JAVA_HOME
(Java 11).
为了使用 java11 从另一个文件夹而不是 bin 执行程序,您必须按如下方式设置 JAVA_HOME 路径 from CMD:
以管理员身份打开 CMD
将JAVA_HOME设置为JDK11 bin文件夹
setx -m JAVA_HOME "C:\Program File\Java\..."
我从JDK8升级到JDK11.添加Java11后路径[点路径最多
bin foler ] 和 JAVA_HOME [ 最多 jdk 个文件夹 (不包括 bin ) ]
成功,
java -version
仍然指向以前的 java 版本(在我的例子中是 java 8。)
然后,我运行一个命令"setx -m JAVA_HOME "C:\Program Files\Java\jdk-11.0.7"
现在 java -version
或 javac -version
都显示 java 11。
希望对你也有帮助。