我正在使用 java 命令和 javac 命令获取不同的 java 版本
java -version java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode, sharing) javac -version javac -version javac 1.6.0_18 where java C:\Windows\System32\java.exe C:\Program Files\Java\jdk1.6.0_18\bin\java.exe
路径设置为 1.6 但它选择 1.8 建议我如何解决这个问题。
最佳答案
这是由于 Java 安装程序将 java.exe
和 javaw.exe
复制到 C:\Windows\System32\java 的极其烦人的习惯造成的.exe
当您选择安装“公共(public) jre”时(但因为那是 JRE,当然不会复制 javac.exe
)。
并且因为 System32
早在 PATH
中,因此将使用 java.exe
(并且在常规 JDK 安装之前不会搜索java.exe
)。但由于 JRE 中没有 javac.exe
,因此会从 JDK 中使用它。
仅浏览器 Java 插件需要公共(public) JRE。 2014 年,我认为 Java 插件已经死了,(我认为)Oracle 应该更改 JDK 安装程序,使其不自动安装。
老实说,我认为这种行为是一个错误。安装程序不应将文件复制到 system32
关于java版本值与java和javac不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25830919/