【问题标题】:JDK installation prompts to install JRE again. What's the difference between jre outside and inside JDK folder?JDK安装提示重新安装JRE。 JDK文件夹内外的jre有什么区别?
【发布时间】:2023-03-04 04:55:01
【问题描述】:

我在安装JDK的时候,安装完JDK后还提示让你选择另一个位置来安装一个保存版本的JRE。但是,当 JDK 安装完成后,我们可以在 JDK 文件夹中看到一个 jre 文件夹。比如我们把JDK安装在:

C:\Program Files\Java\JDK8

我们可以看到:

C:\Program Files\Java\JDK8\jre

如果我们选择将 JRE 保存在:

C:\Program Files\Java\JRE8

我们可以发现这个文件夹包含(几乎)与 JDK 文件夹中的 jre 相同的内容。这两者有什么区别?

【问题讨论】:

  • “公共 JRE”用于那个可怕的浏览器插件。不要安装它
  • 那么你所说的害怕是什么意思?请指定。它完全过时了吗?
  • Java 浏览器插件已死,大多数浏览器甚至不再支持它(由于安全问题)。
  • 但是如果我想要另一个 Swing 应用程序或其他东西到那个位置,或者只是出于开发/测试的原因,我需要那个?这可能还没有完全过时。
  • 不,您不需要公共 JRE。作为 JDK 一部分的 JRE 就足够了。

标签: java


【解决方案1】:

正如 Oracle 安装手册“Private Versus Public JRE”一节中所建议的那样:

私有与公共 JRE

安装 JDK 还会安装私有 JRE 和可选的公共副本。需要私有 JRE 才能运行 JDK 中包含的工具。它没有注册表设置,完全包含在 jre 目录(通常位于 C:\Program Files\jdk1.8.0\jre)中,其位置只有 JDK 知道。另一方面,公共 JRE 可以被其他 Java 应用程序使用,包含在 JDK 之外(通常在 C:\Program Files\Java\jre1.8.0),在 Windows 注册表中注册(在 HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft),可以使用添加/删除程序删除,可能已在浏览器中注册,并且可能会将 java.exe 文件复制到 Windows 系统目录(这将使其成为默认的系统 Java 平台)。

所以,我们在这两个目录中主要是相同的,但是使用公共的或者外部的是安全的。如果没有外层,我们可以使用内层而不会出现(编程)问题。

【讨论】: