【问题标题】:Where does Windows keep JDK location reference?Windows 在哪里保存 JDK 位置参考?
【发布时间】:2018-10-31 04:29:02
【问题描述】:

我之前在我的 Windows PC 上安装了 Java 7。系统环境变量也有它的位置。我在没有卸载 7 或更改环境变量的情况下安装了 Java 10。现在,当我转到 CMD 或 Cygwin 并输入 Java -version 时,它会显示 Java 10。

我想,因为我没有更改环境变量,它仍然是 7。Windows 是如何决定使用什么 JDK 的?

谢谢!

【问题讨论】:

  • 使用 Windows 注册表。在 cygwin 中,您可以键入 which java 以找出它调用的二进制文件/脚本的位置。
  • 或在 Windows CMD where java 中——但您是要求实际的 JDK 还是 JRE(包括 JDK 安装程序中的“公共 JRE”组件)?它们的工作方式不同,并且 JRE 行为在 8 月中旬的某个地方发生了变化。

标签: java windows versions


【解决方案1】:

Windows 如何决定使用什么 JDK?

Windows 不会自行做出决定。如果你在运行java -version时得到版本10的信息,那是因为Windows首先在PATH环境变量指向的路径中找到包含java.exe对应版本10的文件夹。如果您使用安装程序安装了 Java,安装程序将为您更新 PATH 变量。检查您的 PATH 变量,您将看到 Java 10 文件夹首先出现在那里,然后是 Java 7 文件夹。

【讨论】:

    【解决方案2】:

    可能您的 JAVA_HOME 或只是 PATH 环境变量已更改。

    转到命令行并执行以下操作来检查它:

    > echo %JAVA_HOME%  
    

    例如,对我来说它会回馈:

    C:\Program Files\Java\jdk-9.0.4
    

    【讨论】:

      【解决方案3】:

      您的 JAVA_HOME 变量可能仍设置为 JDK 7 目录,但是 Java 10 安装可能已将其 /bin 目录插入到 PATH 中。

      检查以确保 java 10 不在 java 7 之前的 PATH 上,或者没有覆盖它。

      CMD 等检查二进制文件的路径以获取 java-version 等命令。

      【讨论】:

        【解决方案4】:

        如果您使用的是 java ide,您可能会在 JRE 配置中找到该位置。例如在 Eclipse 中:

        windows > 首选项 > 已安装的 JRE

        .

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-10
          • 1970-01-01
          • 2020-11-15
          相关资源
          最近更新 更多