java版本值与java和javac不同

标签 java

我正在使用 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.exejavaw.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/

相关文章:

java - Micronaut:测试失败,找不到页面,但可以通过浏览器正常访问该页面

java - Selenium Webdriver - Opera - 无法从渲染器接收消息

java - 无法绘制以鼠标单击为中心的圆

java - 将 Spring XML 转换为 JavaConfig

java - 从txt文件读取二维数组java扫描仪

java - java中的前置条件与后置条件?

java - NetBeans 无法安装某些模块

java - 如何在 JPanel/JFrame 中显示 JasperReports Viewer..?

java - java桌面应用程序和javafx有什么区别?

java - 重新部署我的应用程序时出现 OutOfMemoryError