2

请考虑以下场景:一个 Java 框架和一堆应用程序插件被部署为一个 Java SE 客户端应用程序。客户端运行时是 Java SE 6,而框架和应用程序插件是用 Java SE 5编译的。

现在框架使用 Java SE 6 重新编译,应用程序插件保持不变(使用 Java SE 5 编译)。

假设框架“接口”(应用程序插件直接使用的类/接口)仍然可以与 Java SE 5(语言级别和 API)编译,问题是:应用程序插件是否需要重新编译(针对重新编译的框架)在为了在运行时一起使用(使用 Java SE 6)?

也许问题归结为:在 SE6 运行时中,“SE5-classfiles”(v49)使用“SE6-classfiles”(v50)在什么情况下会出现问题?

4

1 回答 1

4

如果接口/类中没有(二进制)不兼容的更改,并且运行时 VM 支持新的类文件版本,那么应该没有问题。

于 2012-10-09T13:44:22.027 回答