首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从java 8切换到java 11

从java 8切换到java 11
EN

Stack Overflow用户
提问于 2018-11-03 06:00:49
回答 4查看 37.2K关注 0票数 13

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

C:\Users\Aviral>javac -version

javac 11.0.1

C:\Users\Aviral>java -version

java版本"1.8.0_102"

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

Java HotSpot(TM) 64位服务器VM (build 25.102-b14,混合模式)

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-11-03 07:02:45

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

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

代码语言:javascript
复制
C:\Users\Avril> "C:\Program Files\Java\jdk-11.0.1\bin\java" -jar path\to\file.jar

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

看看您的PATH,您可能会发现类似于C:\ProgramData\Oracle\Java\javapath的东西是最早的条目之一(see this)。此条目在安装Java 8时自动添加,并指向Java8可执行文件(javajavawjavaws)。因为它在%JAVA_HOME%\bin条目之前,所以它是优先的。然而,...\javapath不包含javac,这就是为什么javac -version使用JAVA_HOME (Java11)。

票数 17
EN

Stack Overflow用户

发布于 2018-11-03 06:25:55

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

票数 8
EN

Stack Overflow用户

发布于 2018-11-03 07:45:23

为了使用java 11从另一个文件夹(而不是bin )执行程序,您必须设置JAVA_HOME路径,如下所示,来自CMD

以管理员身份打开CMD

将JAVA_HOME设置为JDK11bin文件夹

代码语言:javascript
复制
setx -m JAVA_HOME "C:\Program File\Java\..."
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53128835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档