从Oracle Java 8更新为采用OpenJDK

问题描述

我想从Oracle Java更新为采用OpenJDK。 因此,在开始更新之前,我有一些疑问:

有关我使用的应用程序的一些信息:

  1. 2个应用程序
  2. 应用程序1使用Java 8
  3. 应用程序2使用Java 11

我的问题:

  1. 从oracle Java 8更新到AdoptOpenJDK 8是否存在任何已知问题?
  2. 从oracle Java 11更新到采用OpenJDK 11是否存在任何已知问题?
  3. 是否甚至可以在Java 11上运行Java 8应用程序? (我可以在两个应用程序中都使用Adopt OpenJDK 11吗?)
  4. 是否有从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。

但是,最后,这全都是测试问题,不是吗?如果您的测试足够彻底,则兼容性方面的所有问题都将被清除。在没有进行全面测试的情况下,我当然不会依赖任何人的向后兼容性声明。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...