Blog chevron_right Java

Oracle 将结束对 Java 8 中 JavaFX 的支持

Azul Is Here to Help You with JavaFX 8 Changes

Oracle 将于 2025 3 月结束对 JDK 8 JavaFX 的支持,并停止提供包含 OpenJFX Java 8 构建版本。从 4 月的首次安全更新开始,Oracle 将不再提供包含 JavaFX Oracle JDK 8。这一变化将带来几个严重的风险。

如果您是 Oracle Java 8 的付费用户,并且有一段时间没有查看 Oracle Java SE 支持路线图,您需知道 Oracle 将终止对 JDK 8 中 JavaFX 的支持,并停止提供包含 OpenJFX 的 Java 8 版本。这一变更将影响所有将 Java 8 应用程序与 Oracle 运行时一起使用的应用场景(需要 JavaFX)。受影响的应用场景包括带有用户界面的桌面应用程序、服务器端图像处理、汽车和飞机上的信息娱乐应用程序、机顶盒等。

如果您不采取任何行动,将会面临几个非常严重的风险:

  • 由于新的 Oracle JDK 8 版本不再支持 JavaFX,您的 CI/CD 构建将失败。
  • 您无法修复这些失败的构建,因为 JavaFX 8 不再作为开源项目进行维护,也无法单独下载。
  • 如果您决定坚持使用最后发布的带有 JavaFX 的 Oracle Java 8 软件包,您的系统将容易受到 CVE 攻击,因为不会再发布带有修复程序的新版本。同样的情况也适用于该版本的 Java 和 JavaFX 中的错误修复。

换句话说,继续使用 Oracle JDK 8 是冒险行为,只能寄希望于系统中的漏洞不会被黑客攻破。

Azul 可助您渡过 JavaFX 8 变更难关

自 JDK 11 起,JavaFX 已不再包含在 OpenJDK 的大多数发行版中,您可以从 OpenJFX 网站单独下载。OpenJDK 和 OpenJFX 是在 GitHub 上作为开源项目发展起来的,遵循相同的发布节奏,因此自 2024 年 9 月起,两者都已提供 23 版本。

Azul 是少数仍在提供包含 JavaFX 的构建版本的 OpenJDK 发行商之一,可确保 OpenJDK 和 OpenJFX 完全兼容。您可以在 Azul 下载页面通过搜索“JDK FX”包类型找到这些版本。您可以下载长期支持版本 8、11、17 和 21 以及短期支持版本 23。

您有什么选择?

几乎所有问题都有多种解决方案,这里有以下几种:

  • 您可以停止升级 Java 8 系统,坚持使用含 JavaFX 的 Oracle Java 8 最新版本。但是,如前所述,这样做会带来许多 CVE 和其他风险。
  • 将代码升级到较新的 Java 版本,并使用免费的 JavaFX 运行时 (17+)。这会带来额外的益处,例如提高开发者的工作效率、更好地使用内存等。但是,这也会带来很多风险,因为您需要重新审查整个代码库和运行时环境。此外,您还需要额外进行大量测试。

最简单且最佳解决方案是:

  • 改用 OpenJDK 的 Azul Zulu 构建版本。Azul 提供包含 JavaFX 的 OpenJDK 8 构建版本。该版本完全支持所包含的组件,包括 WebKit、多媒体等。因此,您可以按原样使用您的代码和编译过的应用程序。

Azul Zulu 版本 OpenJDK 的优势

Azul 可确保捆绑在我们的运行时中的 OpenJFX 代码与其附带的 OpenJDK 版本完全兼容。这也意味着影响 JavaFX 的 CVE 会在 Azul Zulu 版本的 CPU 和 PSU 季度版本中得到修复。

查看 Azul 的路线图,您会发现对 Java 8 的支持会持续到 2030 年 12 月。这意味着,在许多年内,您可以继续在版本 8 上运行您的系统。

结语

出于多种原因,我们建议您将应用程序更新到较新的 Java 版本,但我们也理解这并非总是能够实现,或者这所需的投资太大。对于 JDK 8 上的 JavaFX 来说,若组织尚未采取预防措施,最多一个月后,安全更新便无法防止组织环境遭受攻击了。您做决定的时间已经不多了。何不选择成本低、稳定性强并与 Oracle 使用相同代码库的 Java 发行版呢?Azul 将帮助您让带有 JavaFX 的系统持续在 Java 8 上运行。

prime-cta-banner

Get Zulu

Get an LTS version of Zulu that supports JavaFX.