我有一个工作程序,我被告知只能使用 Java 版本 8 更新 192 才能正确运行。当我下载 eclipse 时,它建议我使用 JRE 17.0.2,但我记得我的同事说我需要 Java 8 update 192,否则它将无法工作。 JRE版本重要吗?是不是无关紧要?
也许我需要下载 JRE 8.192?我不知道。任何帮助将不胜感激。
我有一个工作程序,我被告知只能使用 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 上运行的唯一方法就是尝试它。一般来说,没有捷径。
仍然可用,作为第一个 长期支持 (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 月发布。每六个月就会发布一个主要新版本。