为什么在 jdk-7u80 之后 Java 7 版本不可用?

Sub*_*shi 1 java java-7

我想下载,JRE 1.7.0_131-b31因为我TLSv1.2默认阅读它的支持

TLSv1.2 和 TLSv1.1 现在默认在 TLS 客户端端点上启用。这与 JDK 8 版本中已经发生的行为类似。

但是 Oracle 站点显示了最新版本的jdk-7u80,并且在此版本之后没有其他可用的 Java 7 版本。

  1. 这是因为用户必须购买许可/付费版本吗?
  2. 这些版本不适用于个人开发者?

Ste*_*n C 8

为什么在 jdk-7u80 之后 Java 7 版本不可用?

由于Oracle业务原因。免费公共支持于 2015 年 4 月结束。

(向后移植补丁等需要一个团队。这需要花钱。Oracle 是一家商业企业。还有其他原因。)

这是因为用户必须购买许可证/付费版本吗?

是的。您需要一份扩展支持合同才能使用 7u80 之后的版本

这些版本不适用于个人开发者?

不。

如果您或您的客户需要带有 TLSv1.1 及更高版本的 Java 7,您的选择是:

  1. 升级到 Java 8 或(更好)11。这是最好的选择。
  2. 使用仍支持 Java 7 的第 3 方 JCE 提供程序(例如 BouncyCastle)。
  3. 向 Oracle 支付“扩展支持”支持合同。

向客户指出这是他们没有投入金钱/精力来保持他们的 Java 应用程序与最新版本保持一致的成本。

如果他们仍在使用永久停留在 Java 7 的旧库和应用程序,他们应该计划丢弃或替换它们。是的,这很痛苦,但如果他们不这样做,从长远来看会更痛苦。(在 2022 年 7 月,甚至 Java 7 的“扩展支持”也将结束。在那之后,甚至安全修复也将停止。)

请注意,Java 8 也将很快结束生命周期。实际上,Oracle Java 8 已经停止了对商业用途的免费支持。您/他们真的应该致力于尽快使用 Java 11。

我还建议,如果他们希望您继续在 Java 7 上支持他们,他们应该(实际上)支付您完成工作所需的 Java 支持合同。重新协商您的计费率,或其他什么。

有关 Java 版本、生命周期终止和支持终止的更多信息;看: