【问题标题】:JDK/JRE installation for Windows适用于 Windows 的 JDK/JRE 安装
【发布时间】:2020-03-06 03:36:53
【问题描述】:

我正在尝试使用随附的 JRE 安装 JDK 13。

我设置了这些环境变量:

JAVA_HOME 到 C:\Program Files\Java\jdk-13.0.2
JRE_HOME 到 JAVA_HOME\bin

按照在线说明。

但是当我尝试时:

java Greetings

我收到一条错误消息,内容如下:“JRE 与 JDK 13 编译器不兼容”。

java -version 说“java 版本 1.8.0_241”

Java 控制面板列表:

Product: 1.8.0_241 Path: C:\Program Files\Java\jre1.8.0_241\bin\javaw.exe
Product: 13.0.2    Path: C:\Program Files\Java\jdk-13.0.2\bin\javaw.exe

我可以删除 13.0.2 的条目,但不能删除 1.8.0_241 的条目

我错过了什么?

【问题讨论】:

  • 您安装了系统范围的 Java 8。可能来自浏览器插件。卸载它。
  • 您需要确保您的 PATH 包含 1.3 的 bin 文件夹在 1.8 之前的文件夹。否则你的命令行会选择错误的可执行文件。注意javajavaw代表VM版本,运行时类和VM之间存在依赖关系。

标签: java installation


【解决方案1】:

许多程序(例如 Eclipse IDE 和 Maven 构建处理器)使用 JAVA_HOME 变量来查找 Java 运行时。

但是,CMD shell 通过 PATH 变量搜索可执行文件。您还需要将 java.exe 的路径添加到 PATH 变量中。还要确保 PATH 中没有多个 Java 版本,因为将执行第一个版本。

请注意,可以为系统范围内的所有用户以及每个帐户个人配置所有环境变量。这有时会引起混乱。

【讨论】:

  • 我想向读者强调第一部分:Java不使用JAVA_HOME和JRE_HOME。完全没有。其他使用 Java 的工具可能会使用它们,但 Java 本身不会。