【问题标题】:java version value is different with java and javacjava 版本值与 java 和 javac 不同
【发布时间】:2014-09-14 07:07:17
【问题描述】:

我正在使用 java 命令和 javac 命令获取不同的 java 版本

java版本 java版本“1.8.0” Java(TM) SE 运行时环境 (build 1.8.0-b132) Java HotSpot(TM) Client VM(build 25.0-b70,混合模式,共享) javac-版本 javac-版本 javac 1.6.0_18 java在哪里 C:\Windows\System32\java.exe C:\Program Files\Java\jdk1.6.0_18\bin\java.exe

路径设置为 1.6,但它选择 1.8 建议我如何解决这个问题。

【问题讨论】:

  • 这应该不是问题。任何用 Java 1.6 编译的代码都可以在 Java 1.8 上运行。
  • 尽管在路径中它被设置为 1.6 但显示 1.8 从它选择 1.8 的位置
  • 参考this
  • 你有 32 位和 64 位安装

标签: java


【解决方案1】:

这是由于 Java 安装程序在选择安装“公共 jre”时将java.exejavaw.exe 复制到C:\Windows\System32\java.exe 非常烦人的习惯造成的(但因为那是JRE,当然没有@987654324 @ 被复制)。

而且因为System32 出现在PATH 的早期java.exe 从那里将被使用(并且在常规JDK 安装之前不会搜索java.exe)。但是由于 JRE 中没有 javac.exe,因此您的 JDK 会使用它。

只有浏览器 Java 插件需要公共 JRE。在 2014 年,我认为 Java 插件已经死了,(我认为)Oracle 应该将 JDK 安装程序更改为不自动安装。

说实话,我认为这种行为是一个错误。安装程序不应将文件复制到system32

【讨论】:

  • 这真的很无聊,因为即使您的环境路径中没有版本-x,它也会显示版本-x,因为版本-x 的 java.exe 存在于 C:\Windows\System32 下
  • 请注意,复制到system32 的内容只是一个存根,没有特定的Java 版本。它实际启动的 java 由 Registry 中的“当前 Java 版本”设置控制。
猜你喜欢
  • 1970-01-01
  • 2017-03-07
  • 1970-01-01
  • 2016-04-26
  • 2023-01-26
  • 2021-05-09
  • 1970-01-01
  • 2017-02-11
  • 1970-01-01
相关资源
最近更新 更多