当库将编译器从1.5切换到1.6时,库用户是否总是需要重新编译?

时间:2012-10-09 13:40:37

标签: java jvm backwards-compatibility java-6 java-5

请考虑以下场景:Java Framework和一堆应用程序插件被部署为Java SE Client Application。客户端运行时是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)时,在什么情况下可能会出现问题?

1 个答案:

答案 0 :(得分:4)

如果接口/类中没有(binary) incompatible changes且运行时VM支持新的类文件版本,那么应该没有问题。