问题描述
我想从Oracle Java更新为采用OpenJDK。 因此,在开始更新之前,我有一些疑问:
有关我使用的应用程序的一些信息:
- 2个应用程序
- 应用程序1使用Java 8
- 应用程序2使用Java 11
我的问题:
- 从oracle Java 8更新到AdoptOpenJDK 8是否存在任何已知问题?
- 从oracle Java 11更新到采用OpenJDK 11是否存在任何已知问题?
- 是否甚至可以在Java 11上运行Java 8应用程序? (我可以在两个应用程序中都使用Adopt OpenJDK 11吗?)
- 是否有从Oracle更新为采用的准则? (或者只是向前冲?)
最诚挚的问候
解决方法
对于给定的Java版本(自Java 8开始),各种商业支持的OpenJDK构建几乎都是Oracle JDK的直接替代。
如果使用GUI编写应用程序,则会发现字体和颜色配置文件中的一些差异。 Oracle JDK还对Java Flight Recorder提供了更好的支持(如果有人使用的话)。 OpenJDK对古老的Java Web Start几乎没有支持,但是有替代方法。
根据我的经验(几乎全部在中间件中),选择JDK(对于给定版本)几乎总是由支持决定的,而很少涉及功能。从Oracle JDK迁移到OpenJDK时,我很少遇到任何技术问题,反之亦然。
使用Java 11和更高版本运行Java 8应用程序时,我也没有发现任何问题。但是,Java 11将几个组件(也是与GUI应用程序最相关)分离为单独的JAR。
但是,最后,这全都是测试问题,不是吗?如果您的测试足够彻底,则兼容性方面的所有问题都将被清除。在没有进行全面测试的情况下,我当然不会依赖任何人的向后兼容性声明。