从Java 8切换到Java 11 [英] Switching to java 11 from java 8

查看:268
本文介绍了从Java 8切换到Java 11的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经从oracle官方站点下载并安装了oraclejdk11,并修改了PATH& Windows上系统环境变量中的JAVA_HOME变量

I have downloaded and installed oraclejdk11 from oracle official site and modified PATH & JAVA_HOME variable in system environment variable on windows

C:\ Users \ Aviral> javac -version

C:\Users\Aviral>javac -version

javac 11.0.1

C:\ Users \ Aviral> java -version

C:\Users\Aviral>java -version

java版本"1.8.0_102"

Java(TM)SE运行时环境(内部版本1.8.0_102-b14)
Java HotSpot(TM)64位服务器VM(内部版本25.102-b14,混合模式)

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程序

i know that jdk11 do not contain jre but how can i run a java program from cmd in java 11

推荐答案

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

The JDK includes the JRE which you can launch by using the java executable in the bin folder. You use this executable just like any other executable.

当您在命令行中键入java时,它实际上是简写形式.它搜索您的PATH,直到找到第一个匹配的java可执行文件.如果要指定其他java可执行文件,则可以提供该可执行文件的绝对路径.

When you type java in the command line it is actually shorthand. It searches your PATH until it finds the first matching java executable. If you want to specify a different java executable you can give the absolute path to the executable.

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

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

You may be wondering, if you've set JAVA_HOME and PATH to point to JDK-11, why does java -version still use Java 8?

看看您的PATH,您可能会发现像C:\ProgramData\Oracle\Java\javapath这样的东西作为第一批条目之一(请参阅这个).该条目是在安装Java 8时自动添加的,并指向Java 8可执行文件(javajavawjavaws).由于它在您的%JAVA_HOME%\bin条目之前,因此具有优先权.但是,...\javapath不包含javac,这就是javac -version使用JAVA_HOME(Java 11)的原因.

Take a look at your PATH and you'll likely find something like C:\ProgramData\Oracle\Java\javapath as one of the first entries (see this). This entry was added automatically when you installed Java 8 and points to the Java 8 executables (java, javaw, and javaws). Since it's before your %JAVA_HOME%\bin entry, it takes precedence. However, ...\javapath doesn't contain javac and that's why javac -version used JAVA_HOME (Java 11).

这篇关于从Java 8切换到Java 11的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆