Blog chevron_right 未分类

实现最快速 Java 迁移的工具

要最快地将 Java Oracle 迁移到其他提供商,首先需要仔细的规划和完整的 JDK 使用情况清单。您必须检查环境中每一台运行 Java 应用程序(使用 Java 编写或在 JVM 中运行)的机器。 

如果您使用 IT 资产管理 (ITAM) 工具来监控软件使用情况,那么构建完整、准确的 Java 发行版和版本清单将简单易行。许多企业都部署了这些工具,以确保遵守许可条款和条件。这些工具可以快速生成报告,显示哪些机器安装了哪些版本的 Java。然而,即使有了这样的报告,为正在使用的 JDK 编制一份明确的清单可能仍然不简单。例如,许多企业在服务器和桌面部署中使用标准构建。即使没有使用 Java 应用程序,这些构建也可能包含 Java 运行时。 

合适的工具,实现最快速的 Java 迁移 

How to Avoid Failing a Java Audit and Migrate Your JVMs
观看 Azul 和 Miro Consulting 提供的点播网络研讨会。

要确定组织在哪些地方使用 Java,可以从 Oracle 批准的 ITAM 或 SAM 工具开始,如 SHI、Flexera 或 Certero。这些工具可以帮助您遵守许可条款和条件,同时还可以生成报告,显示哪些机器安装了哪些版本的 Java。但是,这些都不是 Java 专用工具,而通用工具只能查看您指定的位置。如果您遗漏了一台服务器或整个服务器农场,您的工具将无法知道。Oracle 调查 Java 使用情况的方法会发现一切。

例如,Flexera 报告不会提供与 JVM 使用情况相关的依赖项和应用程序框架。这些因素可能会对您的业务产生严重影响。像 Azul 这样值得信赖的 OpenJDK 发行版提供商,或像 Miro Consulting 这样经验丰富的 Java 迁移合作伙伴,会使用 Java 专用的工具(例如 Oracle 提供的工具)。 

ITAM 和 SAM 工具的替代方案 

许多用户不使用 ITAM 软件,因此需要手动盘点机器。一些工具可以协助完成这项工作。这些工具可以扫描机器的文件系统,查找 Java 可执行文件,并在其运行时记录版本字符串。它们还可以扫描进程表,以确定 Java 应用程序是否正在运行,以及它们使用的是哪个 JDK 版本。在分析这些结果时要小心,应用程序可能只在需要时才会使用。在扫描进程表时,如果应用程序没有运行,那么它就不会包括在内。 

不仅仅着眼于盘点阶段 

执行阶段只使用普通的 Java 安装程序。您可以考虑使用 Microsoft Server,将我们为 JDK 提供的 MSI 文件部署到多台机器上。Red Hat 也有一款名为 Ansible 的软件可用于自动安装。还有一些其他工具,如 Puppet 和 Chef,也可以帮助完成此类工作。同样,这些工具也不是 Java 专用的。 

如果您已进行仔细规划,并建立了完整、准确的清单,执行阶段通常会非常简单。然而,您仍然需要考虑一些重要事项: 

较旧的 Java 版本包含已弃用的功能 

在 JDK 11 之前,Oracle(和 Sun Microsystems)JDK 含有未包括在核心 OpenJDK 项目中的功能。这些功能包括 JavaFX、小程序、Java Web Start 和 IcedTea-Web 等。 

Oracle 将于 3 月停止对 JDK 8 JavaFX 的支持 

正如 Oracle 在其路线图中所述,其将于 3 月结束对 JDK 8 中 JavaFX 的支持,并停止提供包含 OpenJFX 的 Java 8 构建版本。这意味着,从 4 月的首次安全更新开始,将不再提供包含 JavaFX 的 Oracle JDK 8。 

这将影响所有将 Java 8 应用程序与 Oracle 运行时一起使用的应用场景(需要 JavaFX)。受影响的应用场景包括带有用户界面的桌面应用程序、服务器端图像处理、汽车和飞机上的信息娱乐应用程序、机顶盒等。 

这会带来一些风险:  

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

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

在《OpenJDK 迁移入门指南》中了解更多信息 

在《OpenJDK 迁移入门指南》中了解更多信息。我们从数百次的成功迁移中总结出了 Java 迁移流程。如果您需要有关最快 Java 迁移的指导,可以从 Azul 副首席技术官兼 Java Champion 称号获得者 Simon Ritter 撰写的书中获得。

OpenJDK Migration for Dummies eBook Cover