迁移到 Java Platform Standard Edition 8

此产品版本支持 Java™ Platform Standard Edition (Java SE) 8 规范。 它的 Java 虚拟机提供了 Java 语言编译器和运行时环境。 确定新应用程序和现有应用程序是否将利用 Java SE 8 添加的功能,并开始从不推荐的功能进行转换。

有关此任务

Java SE 8 包含新增功能,例如 Lambda 表达式支持和虚拟扩展方法,更易于理解的日期和时间 API 以及改进的安全性。 Java SE 8 支持 WebSphere® 应用程序使用最新的可用 Java 功能部件和标准。 有关新的 Java 功能部件的更多信息,请参阅 Oracle Web 站点上的 Java 中的新增内容 8

IBM® SDK Java Technology Edition V 8 提供了对 Java SE 8 的支持。 有关 IBM SDK Java Technology Edition V 8 中的新增内容的信息,请参阅 IBM SDK Java Technology Edition V 8

过程

  • 决定是否在应用程序中利用新的 Java SE 8 功能。

    您只能将使用 Java SE 8 功能部件的应用程序部署到 V 9.0 或 V 8.5.5.9 或更高版本的节点,因为较低版本的产品不提供 Java SE 8 虚拟机。

  • 编译不使用新功能的 Java SE 8 应用程序,以通过设置编译器方式在先前的 Java 虚拟机级别上运行。

    在编译使用 Java SE 8 构建的应用程序 (旨在按先前规范运行) 时,请为 Java SE 8 编译器指定 -source-target 方式。 这样做可以确保所生成的字节码与较低版本的 Java 虚拟机相兼容。

    例如,如果目标 Java 虚拟机处于 1.6 级别,那么在使用 Java SE 8 编译应用程序时,应指定 -source 1.6-target 1.6 以生成与 1.6兼容的字节码。 这不会处理 Java SE 8 新增的包,类或函数的使用。 它仅处理字节码输出。 如果开发者打算在多个 Java 虚拟机规范级别上运行应用程序,那么他们必须注意从 Java SE 包中使用的 API。

  • 解决先前编译的 Java SE 应用程序中的不兼容问题。

    Java SE 8 向上与先前的 Java SE 版本二进制兼容,但 Oracle Compatibility Guide for JDK 8中记录的不兼容和不推荐使用除外。

    最佳实践: 通过使用 Migration Toolkit for Application Binaries 和 WebSphere Application Server Migration Toolkit来扫描应用程序以查找 API 和规范更改,而不是手动查看应用程序。

    此应用程序二进制扫描程序提供应用程序的详细迁移分析报告,以便您可更好地了解应用程序可能需要的更改的类型和范围。 迁移应用程序时,基于 Eclipse 的迁移工具箱提供快速修订以尽可能自动更新您的源代码,并提供有关必须手动更新的项的详细帮助。