0

我有一个使用以下依赖项的 Spring MVC 应用程序

  1. p4java(版本 - 2019.1.1873579)
  2. 沙丁鱼(版本 – 129)
  3. commons-httpclient(版本 - 3.1)
  4. org.w3c
  5. org.xml

编辑:我正在从Oracle java 版本“1.8.0_202”迁移到openjdk 版本“1.8.0_241”

但我现在必须从 Oracle Java 迁移到 Azul Zulu Open SDK。Azul Open SDK 的上述依赖项是否存在任何已知问题。我尝试寻找相同的内容,但找不到任何相关信息。我如何分析由于此迁移是否可能存在任何回归问题。

4

2 回答 2

0

由于 Oracle JDK 和 Zulu 一样是从 OpenJDK 构建的,因此不会存在影响应用程序的功能差异。两者都经过 TCK 测试,确保构建符合 Java SE 规范。

然而...

如果您从 Oracle JDK 8u202 迁移到 Zulu 8u241,则会由于包含 u202 和 u241 之间的各种安全补丁和错误修复而存在差异。

几个建议:

  1. 最初,从 Oracle JDK 8u202 迁移到 Zulu 8u202(可在此处找到:https ://cdn.azul.com/zulu/bin/ )。这样,您将进行同类测试,并且可以确信 Oracle 和 Zulu 运行时是等效的。
  2. 我不确定您为什么要迁移到更新 241。最近的(从上周开始)是更新 292。为了最大限度地提高应用程序的稳定性和安全性,您确实应该使用最新的更新。
于 2021-04-26T10:38:38.447 回答
0

我尝试寻找相同的内容,但找不到任何相关信息。

没有关于不同 Java 供应商产品之间回归的综合资源:

  • 因为这种回归很少到不存在,并且
  • 因为从一个供应商迁移到另一个供应商是不寻常的。

问题是大多数 Java 供应商都使用相同的 OpenJDK 代码库,并运行相同的标准回归测试套件。虽然一些供应商会稍微落后于 OpenJDK 补丁,但我预计不会有太大的延迟,尤其是对于重要的更改和修复。每个人都试图不破坏人们的 Java 应用程序代码……因为它会损害 Java 供应商的声誉。

如果我们排除明确宣传的供应商差异/差异,您 (IMO)更有可能遇到不同 OpenJDK Java 版本和更新之间的差异,而不是您在不同 Java 供应商提供的匹配版本/更新之间遇到差异。

例如,我看到在“1.8.0_291”中他们禁用了 TLS 1.0 和 1.1 ...如果您的应用程序出于遗留原因仍需要支持这些(不安全)版本的 SSL/TLS,则可能需要进行补救。

所以,鉴于...

我正在从 Oracle java 版本“1.8.0_202”迁移到 openjdk 版本“1.8.0_241”

...您更有可能遇到从“_202”到“_241”更改的问题,而不是从 Oracle Java 到 Azul Java 的更改。如果您真的担心回归的可能性,我建议将其视为两个单独的迁移。然后尽量跟上补丁。您不应该让自己在更新方面落后 27 个月,尤其是因为其中一个中间补丁版本(“_231”)包含一批安全修复程序。


我如何分析由于此迁移是否可能存在任何回归问题。

我的建议:不要试图分析它。只需尝试迁移,彻底测试它以查看什么(如果有的话)中断,然后修复它。

显然,在将迁移的应用程序投入生产之前,您需要能够进行彻底的测试。

但这无论如何都是非常必要的。无论您进行多少“分析”,都无法消除可能影响您的应用程序的回归的可能性。

于 2021-04-26T10:00:10.150 回答