我可以使用 JRE 17 运行使用 Java 8 (.192) 构建的 java 程序吗?还是所有内容(JRE、JVM、JDK)都必须首先位于正确的 Java 8 版本上?

问题描述 投票:0回答:3

我有一个工作程序,我被告知只能使用 Java 版本 8 更新 192 才能正确运行。当我下载 eclipse 时,它建议我使用 JRE 17.0.2,但我记得我的同事说我需要 Java 8 update 192,否则它将无法工作。 JRE版本重要吗?是不是无关紧要?

也许我需要下载 JRE 8.192?我不知道。任何帮助将不胜感激。

java eclipse performance java-8
3个回答
4
投票

我有一个工作程序,我被告知只能使用 Java 版本 8 更新 192 才能正确运行。

我怀疑该说法的准确性。我想说的是,某人在没有证据的情况下发表声明……如果他们确实这么说的话。

也许更准确的说法是该程序仅“已知在该特定版本上运行”...... 无论如何,它可能会运行在更高版本的 Java 8 或 Java 11 上。Java 17 不太确定,因为 Java 16 中出现了包密封/阻止访问内部包的问题。(一些密封/ Java 9 开始阻塞...但有简单的解决方法...)

问:您需要 JRE 吗?

A:不需要。JDK 也可以工作。 (JDK 发行版

包含

JRE。)但是,除非有强烈的反对意见,否则您需要最新版本的 Java 8、11 或 17。Java 8 u192 已经过时了很多年。 确保应用程序能够在特定版本的 Java 上运行的唯一方法就是尝试它。一般来说,没有捷径。


4
投票
Java 8

仍然可用,作为第一个 长期支持 (LTS) 版本。我建议从 Java 8 的最新更新开始。当前版本是更新 402(如 on Adoptium 所示)。 请注意,除关键安全补丁外,Java 8 不会定期向公众提供更新。您可能需要考虑购买来自任意数量的供应商(例如 Azul Systems 或 Oracle)的支持合同,以获得支持,包括在本十年剩余时间里可能发布的其他更新。

通常,Java 应用程序无需任何修改即可在更高版本的 Java 上运行。 Oracle 的 Java 团队和

OpenJDK

社区非常重视保持这种兼容性。 但是,兼容性政策也有例外情况。特别是:Java 9 引入了

Java Platform Module System

,这导致了一些应用程序出现一些问题。在 Java 的更高版本中,一些以前捆绑的库现在被删除了。其中一些已删除的库已转移到 Eclipse 基金会的 Jakarta EE 项目。有些因缺乏兴趣而被放弃,例如CORBA Java 中多年来被标记为“已弃用并最终删除”的一些部分现已被删除。

如果您考虑超越 Java 8,我建议您的第一步是坐下来阅读每个 Java 版本的发行说明。他们写得很好。他们应该提醒您任何可能影响您的应用程序的问题。

仅供参考,Java 21 是最新的 LTS 版本。截至 2024 年 2 月,Java 21 是最新版本。 Java 22 将于 2024 年 3 月发布。每六个月就会发布一个主要新版本。


3
投票
https://adoptium.net/?variant=openjdk8

获取 Java 8 的 OpenJDK 版本。请务必询问您的同事为什么他们提到过时的补丁版本。 此外,请记住 Eclipse 本身就是一个大型 Java 应用程序。运行它需要 Java,而且越来越多的下载包含 Java 运行时,原因很简单,即使是那些不包含 Java 开发工具的下载。不过,您不必针对该版本的 Java 编译代码——您可能甚至不想这样做,因为 JDK 下载将包括标准库的 JavaDoc 以及其他有用的附加功能。

© www.soinside.com 2019 - 2024. All rights reserved.