我不能理解java更新。使用windows 10,当我转到 C:\Program Files\Java
我有3个文件夹:
-jdk1.8.0\U 221
-jre1.8.0第251页
-jre1.8.0\单元261
当我打开命令并键入 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\u261是最新的java版本,为什么我更新它时只更新jre而不更新jdk?为什么jdk会留在221?
即使jdk的最新版本是221,jre的最新版本是261,为什么它还要保存jre的251文件夹呢?为什么不删除?我应该删除它吗?
为什么我的javac没有更新呢?为什么“where”命令直接指向221文件夹名。。当我更新时它会改变吗?
谢谢。
2条答案
按热度按时间nukf8bse1#
jdk是java的开发工具包,jre是运行时环境。jdk本身包含jre。要运行java应用程序,需要jre。然而,有些程序在运行时需要编译器,所以在这种情况下,您需要jdk。
因为jdk包含jre。因此,最好使用jdk。
下面是在系统中设置java的步骤。
从javaoracle在系统中安装任何jdk。
将系统变量中的java\ U home变量设置为
C:\Program Files\Java\jdk1.8.0_261\
.设置之后,系统将知道您已经安装了jdk。现在您的系统不知道如何使用javac来编译java应用程序。
在同一系统变量中设置path\ U变量
%JAVA_HOME%\bin
.由此,您的系统将识别javac编译器。
vqlkdk9b2#
如果1.8.0\u261是最新的java版本,为什么我更新它时只更新jre而不更新jdk?为什么jdk会留在221?
我相信你已经知道了
JDK
java开发工具包JRE
是java运行时环境,它们是不同的东西。您可以安装最新版本的JDK 1.8
从https://www.oracle.com/uk/java/technologies/javase/javase-jdk8-downloads.html 鉴于要安装JRE 1.8
,您需要从https://www.oracle.com/java/technologies/javase-jre8-downloads.html. 安装时JDK 1.8
,它还会询问是否要安装JRE
也。即使jdk的最新版本是221,jre的最新版本是261,为什么它还要保存jre的251文件夹呢?为什么不删除?我应该删除它吗?
是的,删除它是安全的。
为什么我的javac没有更新呢?为什么“where”命令直接指向221文件夹名。。当我更新时它会改变吗?
命令,
javac
是的一部分JDK
; 不是JRE
. 因此,where javac
总会把你的位置还给你的JDK
安装。