eclipse 我可以使用JRE 17运行使用Java 8(.192)构建的Java程序吗?或者所有东西(JRE,JVM,JDK)都必须首先在正确的Java 8版本上运行吗?

koaltpgm  于 5个月前  发布在  Eclipse
关注(0)|答案(3)|浏览(82)

我有一个工作程序,我被告知只能使用Java版本8更新192才能正确运行。当我下载Eclipse时,它建议我使用JRE 17.0.2,但我记得我的同事说我需要Java 8更新192,否则它将无法工作。JRE版本重要吗?它无关紧要吗?
也许我需要下载JRE 8.192?我不确定。任何帮助将不胜感激。

bvpmtnay

bvpmtnay1#

我有一个工作程序,我被告知只能使用Java版本8更新192来正确运行。
我会怀疑这一说法的准确性。我会说,* 有人 * 是在没有证据的情况下发表声明......如果这是他们实际上所说的话。
也许一个更准确的说法是,该程序只在该特定版本上运行。
无论如何,它可能会运行在Java 8或Java 11的更高版本上。Java 17不太确定,因为Java 16中出现了包密封/阻止访问内部包的问题。(一些密封/阻止在Java 9中开始......但有简单的解决方法......)
Q:你需要JRE吗?
答:不。JDK也可以工作。(JDK发行版 * 包括 * JRE。)但是除非有强烈的反对意见,否则你需要最新版本的Java 8,11或17。Java 8 u192已经过时多年了。
确保应用程序能在特定版本的Java上运行的唯一方法是尝试它。一般来说,没有捷径可走。

92dk7w1h

92dk7w1h2#

与其他答案一样,为Java 8构建的应用程序可能在Java 17中运行良好,但需要注意一些问题,但如果您确实需要在Java 8下运行最终产品,请获取真实的Java 8运行时并在IDE中设置它。为任何特定Java版本构建Java应用程序最好通过提供该运行时的实际副本来完成,最好是JDK。通过使用其标准库的确切版本进行编译,您可以避免意外引用添加到后续版本或从后续版本中删除的包,类和方法。您可以从https://adoptium.net/?variant=openjdk8获得Java 8的OpenJDK版本。一定要询问您的同事为什么他们提到过时的补丁版本。
此外,请记住Eclipse本身就是一个大型Java应用程序。运行它需要Java,并且越来越多的下载包括Java运行时,即使是不包括Java开发工具的下载也是如此。您不必针对该版本的Java编译代码-您可能甚至不想这样做,因为JDK下载将包括标准库的JavaDoc,以及其他有用的额外功能。

hjzp0vay

hjzp0vay3#

Java 8仍然可用,作为第一个长期支持(LTS)版本。当前版本是Update 331。我建议从Java 8的最新更新开始。
请注意,Java 8除了关键的安全补丁外,不会定期向公众提供更新。您可能需要考虑从任何数量的供应商(如阿苏尔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版本。Java 21是当前版本,截至2023-11。

相关问题