【发布时间】:2020-09-05 14:03:03
【问题描述】:
我无法理解 Java 更新。
使用 Windows 10,当我转到 C:\Program Files\Java 时,我有 3 个文件夹:
-jdk1.8.0_221
-jre1.8.0_251
-jre1.8.0_261
当我打开 cmd 并输入 java -version 我得到:
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
当我输入 javac -version 时,我得到:
javac 1.8.0_221
我检查了环境变量,它注意到与 Java 相关联。
当我输入 cmd where java 我得到:
C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe
C:\Program Files\Java\jdk1.8.0_221\bin\java.exe
当我输入 where javac 时,我得到:
C:\Program Files\Java\jdk1.8.0_221\bin\javac.exe
问题:
- 如果 1.8.0_261 是最新的 java 版本,为什么我更新它时只更新 jre 而不是 jdk?为什么 jdk 一直停留在 221?
- 即使jdk最新版本是221,jre最新版本是261,为什么一直保存jre 251文件夹?为什么它不删除它?我应该删除它吗?
- 为什么我的 javac 也没有更新?为什么“where”命令直接指向 221 文件夹名称。我更新时它会改变吗?
谢谢。
【问题讨论】:
-
java 更新程序似乎只更新 JRE。
javac是编译器,只是jdk的一部分。 -
JRE 和 JDK 是两个不同的东西。 JRE 用于运行应用程序,JDK 用于开发。
-
所以解决方案(在Windows上)是如果你想更新
javac和其他开发工具,手动安装最新的JDK。 (在 Linux(RHEL、Ubuntu 等)上,包管理器将更新两组工具......当你告诉它时。)