0

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

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

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

我的问题:

  1. 从 oracle Java 8 更新到 AdoptOpenJDK 8 是否存在任何已知问题?
  2. 从 oracle Java 11 更新到 Adopt OpenJDK 11 是否存在任何已知问题?
  3. 甚至可以在 Java 11 上运行 Java 8 应用程序吗?(我可以对这两个应用程序使用 Adopt OpenJDK 11 吗?)
  4. 是否有任何从 Oracle 更新为 Adopt 的指南?(还是直接向前?)

此致

4

1 回答 1

1

对于给定的 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 中。

但是,归根结底,这都是测试的问题,不是吗?如果您的测试足够彻底,任何与兼容性有关的问题都将被清除。如果没有经过彻底的测试,我当然不会依赖任何其他人关于向后兼容性的声明。

于 2020-09-22T10:34:50.683 回答