发行版到发行版兼容性
本主题描述了将 Java™ 应用程序从较早发行版移至最新发行版时的注意事项。
在当前发行版中运行 Java 应用程序时,应考虑以下兼容性问题:
- IBM® Technology for Java 仅支持 PASE for i中的 JVMTI 接口。 因此,需要将 JVMTI 代理程序移植到 PASE for i。
- 使用 PASE for i 本机方法时,本机代码的体系结构需要与 JVM 的体系结构相匹配。 即,对象二进制文件需要编译为 32 位二进制文件 (对于 32 位 JVM) 或 64 位二进制文件 (对于 64 位 JVM)。 这也适用于代理程序,例如用户提供的 JVMTI 代理程序。
- Java 系统属性
java.version无法识别为 IBM Technology for Java JVM 的输入属性。 在先前发行版中,提供了经典 JVM ,用于将java.versionJava 系统属性用作输入,以确定要使用的 JDK。 从 IBM i 7.1开始, IBM Technology for Java 是唯一可用的 JVM ,它需要指定环境变量 JAVA_HOME 以确定要使用的 JDK。 - 在经典 JVM 中, Java 方法
System.getenv()将返回相应 ILE 环境变量的值。 在 IBM Technology for Java 中,这将改为返回 PASE for i 环境变量。 这可能会导致以下问题: 用户在 ILE 本机方法中设置环境变量,并期望稍后调用System.getenv()以检索该环境变量。 通常,用户需要注意 ILE 和 PASE for i 有它们自己的不联合环境变量集。 - 在 IBM i 6.1中停止了对直接处理的支持。 在 IBM i 7.1中,将继续支持 Java 程序命令,但仅当使用这些命令将其作为前发行版的目标时才支持这些命令。 有关更多信息,请参阅 IBM i 6.1 的 发行版到发行版兼容性 部分。 从 i 7.2开始,不再支持所有 Java 程序命令。