当前位置: 首页 > 知识库问答 >
问题:

Java只更新jre而不是jdk

曾枫
2023-03-14

我不懂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时,我得到:

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. 如果1.8.0_261是最新的java版本,为什么我更新它时只更新jre而不更新jdk?为什么jdk会留在221
  2. 即使jdk lateast版本是221,jre lateast版本是261,为什么它一直保存jre 251文件夹?为什么不删除?我应该删除它吗
  3. 为什么我的javac也没有更新?为什么“where”命令直接指向221文件夹名。。当我更新时它会改变吗

谢谢。

共有2个答案

楮星鹏
2023-03-14
匿名用户

如果1.8。0_261是最新的java版本,为什么我更新时只更新jre而不更新jdk?为什么jdk停留在221?

我相信您已经知道JDK是Java开发工具包,而JRE是Java运行时环境,它们是不同的东西。您可以从https://www.oracle.com/uk/java/technologies/javase/javase-jdk8-downloads.html安装最新版本的JDK 1.8,而要安装最新版本的JRE 1.8,您需要从https://www.oracle.com/java/technologies/javase-jre8-downloads.html.下载二进制文件。当您安装JDK 1.8时,它还会询问您是否也要安装JRE

即使jdk lateast版本是221,jre lateast版本是261,为什么它一直保存jre 251文件夹?为什么不删除?我应该删除它吗?

是的,删除它是安全的。

为什么我的javac也没有更新?为什么“where”命令直接指向221文件夹名。。当我更新时它会改变吗?

命令javacJDK的一部分;不是JRE。因此,javac所在的将始终返回您JDK安装的位置。

凤棋
2023-03-14

JDK是Java的开发工具包,JRE是运行时环境。JDK本身包含JRE。要运行Java应用程序,您需要JRE。但是,有些程序在运行时需要编译器,所以在这种情况下,您需要JDK。

因为JDK包含JRE。因此,最好使用JDK。

以下是在系统中设置Java的步骤。

>

将系统变量中的JAVA_HOME变量设置为

C:\Program Files\Java\jdk1.8.0\U 261。

设置后,系统将知道您安装了JDK。现在,您的系统不了解javac来编译java应用程序。

在相同的系统变量中设置Path_变量

%JAVA\u HOME%\bin。

由此,您的系统将识别javac编译器。

 类似资料:
  • 问题内容: 我一直在与一个同事一起解决我刚刚加入的一个新项目遇到的问题。长话短说,Maven无法正确构建我的.war文件。当我向我的同事提供战争档案时,他会遇到与我相同的问题,当他向我提供其已编译的.war文件时,一切都会正常进行。我们俩都在同一个源上工作。因此,我正在尝试正确地安装Maven(与他相同),我们现在都具有相同版本的Maven。但是,我认为maven错误地查看了java_home。

  • 问题内容: 我有一个需要在Windows机器上打开的基于Java 6的Java Web Start应用程序。机器已安装JRE 7,并将JRE 6手动复制到该文件夹中。问题是,无论何时我想打开JWS应用程序,它都将使用Java 7打开。即使我使用JRE 6中的可执行文件,某些属性仍然引用JRE 7文件(我通过使用进行了验证。如何强制JRE 6仅用于此应用? 问题答案: 我有一个基于Java 6的Ja

  • 多谢了。 正如一些人所指出的,maven版本中java home中的JRE引用对我来说是一个红鲱鱼兔子洞。经过进一步的测试,我有了一些新的有趣的信息。我直接从命令行运行maven命令。我用eclipse从svn存储库中签出代码,并尝试在该代码上运行maven包,但.war没有正确构建。但是,如果我在eclipse中将一个团队导出到一个新目录,并在该目录上运行maven包,那么它将构建.war fi

  • 问题内容: 由于提问和回答在这里,Python已经部署的没有安装一个有用的方法。Java可以做同样的事情吗? 有什么方法可以在不安装jre的情况下运行Java的jar文件? 是否有类似java2exe(win32),java2bin(linux)或java2app(mac)的工具? 问题答案: 您可以为此使用Launch4j。有据可查且易于使用。尽管生成的程序仍需要运行JRE,但您不必在目标系统上

  • 我在应用程序中呈现某些数据时遇到一些问题。为了简单起见,我有一个h:form,它包含一个在tbody中带有ui:repeat的表。让我们举个例子(我没有把所有的代码都放进去,因为它太长了): 我的问题是,每次保存时,它都会完整地呈现表单,当我的表包含许多行时(你知道,每次保存时加载一个页面需要花费大约10秒以上的时间),这会导致性能问题。有没有办法这样做?它将只渲染我当前正在编辑的行? 我不知道问

  • 我有 在google app engine上部署我的应用程序时,我搜索了解决方案,发现我应该在eclipse.ini文件中添加:-vm c:\program files\java\jdk1.7.0_02\bin\javaw.exe以强制eclipse使用JDK而不是JRE,我已经从windows>>prefrences>>java>>>安装的JRE中确认它指向的是JDK而不是JRE...我尝试卸载