一般性问题

问:什么是 Amazon Corretto?

Corretto 是获得 Amazon 长期支持的开放 Java 开发工具包(OpenJDK)。Corretto 使用 Java 技术兼容性套件(TCK)进行了认证,以确保其符合 Java SE 标准,并且在 Linux、Windows 和 macOS 上可用。

问:为什么应该使用 Corretto?

Corretto 是 OpenJDK 的可靠版本,可以保证免费为您提供长期支持。Amazon 内部在数千种生产服务上运行 Corretto。我们对 Corretto 所做的每一次修改都会修复或缓解我们在运行 OpenJDK 时发现的问题。Amazon 还计划在常规季度周期之外推出紧急修复程序(包括安全性),随时可用。

问:Corretto 和 OpenJDK 有何不同?

Corretto 是 Open JDK 的发行版,其中包含 Amazon 提供的补丁,这些补丁尚未集成到相应的 OpenJDK 更新项目中。我们专注于可提高 OpenJDK 性能或稳定性的补丁,这些补丁根据 Amazon 对运行大型服务的观察结果选择。

问:Amazon 打算在 Corretto 中加入哪些类型的补丁?

补丁将包括安全修复、性能增强(例如,加快常用函数的运行速度)、垃圾收集计划和防止内存不足的情况,以及改进的监控、报告和线程管理。

问:使用 Corretto 是否会产生任何费用?

Corretto 由 Amazon 根据开源许可证免费向您分发。它根据 GNU 公共许可证版本 2 的条款获得许可,但有类路径例外(带有 CPE 的 GPLv2)。Amazon 不对其使用或分发收费。

问:长期支持(LTS)对 Corretto 有什么意义?

Amazon Corretto 是开放 Java 开发工具包(OpenJDK)的免费、多平台、生产就绪型发行版,可获得长期支持(LTS)。LTS 包括 Amazon 承诺至少在相关发布版本的指定日期(例如,Corretto 8 在 2026 年 5 月)之前免费提供性能增强和安全更新。计划每季度发布一次更新。Amazon 还计划在常规季度周期之外推出紧急修复程序(包括安全性),随时可用。

问:Corretto 的长期支持包括什么?

对 Corretto 的长期支持(LTS)包括免费的性能增强和安全更新,直至产品生命周期结束。计划每季度发布一次更新。

对 Corretto 的 LTS 与 AWS Support 计划无关,后者为在 AWS 上实现目标提供专家指导和帮助。如果您已经有 AWS Support 计划,则 Corretto 的保障基础与所有其他支持的 AWS 服务和软件相同。对于那些没有计划的人来说,如果唯一的意图是获得关于 Corretto 的帮助,那么购买计划可能有意义,也可能没有意义。请访问 Amazon Support 网站以确定它是否适合您。目前未打算推出针对 Corretto 的帮助计划。与往常一样,我们的路线图反映了客户的反馈,我们欢迎您在 Corretto GitHub 存储库中提出功能请求。
 

问:Corretto 的支持日历是什么?

         
Coretto 版本 发行版类型 GA 日期
上次计划更新 生命周期终止
23 FR 2024 年 9 月 17 日 2025 年 1 月 2025 年 4 月
22 FR 2024 年 3 月 19 日 2024 年 7 月 2024 年 10 月
21 LTS 2023 年 9 月 21 日 2030 年 7 月 2030 年 10 月
17 LTS 2021 年 9 月 16 日 2029 年 7 月 2029 年 10 月
11 LTS 2019 年 3 月 15 日 2027 年 7 月 2027 年 10 月
8 LTS 2019 年 1 月 31 日
2026 年 4 月 2026 年 7 月

 

LTS:长期支持 FR:功能发布

问:如果我需要有关 Corretto 的帮助,该怎么做?

有关安装或运行 Corretto 的一般问题,请参阅我们的文档。如果您遇到与 OpenJDK 有关的问题,请打开一个与上游 OpenJDK 项目有关的问题。如果您遇到与 Corretto 相关的特定问题或不适用于 OpenJDK 的功能请求,请在 Corretto GitHub 存储库中打开问题或功能请求。如果您已有 AWS Support 计划,则可以通过您的计划寻求关于 Corretto 的援助。
 

使用 Amazon Corretto

问:我可以使用 Corretto 作为其他 JDK 的直接替代品吗?

除非您使用的是 OpenJDK 中不可用的功能,否则 Corretto 按设计可作为所有 Java SE 发行版的直接替代品。将 Corretto 二进制文件安装在主机上并正确调用以运行您的 Java 应用程序(例如,在 Linux 上使用备选命令)后,现有的命令行选项、调整参数、监控以及任何其他设置都将像以前一样继续运行。

问:Corretto 中是否包含 JavaFX? 如果包含,它捆绑了哪些版本的 Corretto?

在 OpenJDK 11 之前,JavaFX 包含在 OpenJDK 中。但是,2018 年,Oracle 将 JavaFX 与 OpenJDK 分离,从 OpenJDK 发行版中将其删除。Corretto 8 确实包含适用于以下平台的 JavaFX

AL2 x64
通用 Linux x64
Windows x86 JDK
Windows x64 JDK
Windows x86 JRE
Windows x64 JRE

无论是哪种版本,我们都不会将其包含在其他平台上。例如,适用于 Mac M1 的 Corretto 8 不支持 JavaFX。

我们建议您升级到 Corretto 17+,最好是 Corretto 17,因为此版本将包含更多最新的代码,并且通常比之前的版本性能更好。在某些情况下,您可能希望使用最新的 JDK,这可能是一个短期支持版本,临近 EOL 日期。您可以从 JavaFX 网站找到并下载 JFX 发行版。

问:Corretto 8 支持哪些操作系统?

Corretto 8 安装包由 Amazon 分发,适用于 Linux(glibc)、Linux(musl-libc)、Windows 和 macOS。

Windows 版本支持范围包括版本 10 或更高版本、Server 2016、Server 2019 和 Server 2022。

macOS 版本支持范围包括仍在从 Apple 接收安全补丁的所有 macOS 版本。目前支持的版本包括 x64(Intel)和 aarch64(M1)架构上的 12(Monterey)或更高版本。

Red Hat Enterprise Linux 6+、CentOS 6+、Ubuntu Linux 14+、Debian Linux 8+、Amazon Linux AMI 和 SuSE 12+ 支持 Linux(glibc)版本。

在 Alpine Linux 3.16+ 上支持 Linux(musl-libc)版本。

问:Corretto 11 支持哪些操作系统?

Corretto 11 安装包由 Amazon 分发,适用于 Linux(glibc)、Linux(musl-libc)、Windows 和 macOS。

Windows 版本支持范围包括版本 10 或更高版本、Server 2016、Server 2019 和 Server 2022。

macOS 版本支持范围包括仍在从 Apple 接收安全补丁的所有 macOS 版本。目前支持的版本包括 x64(Intel)和 aarch64(M1)架构上的 12(Monterey)或更高版本。

Red Hat Enterprise Linux 6+、CentOS 6+、Ubuntu Linux 14+、Debian Linux 8+、Amazon Linux AMI 和 SuSE 12+ 支持 Linux(glibc)版本。

在 Alpine Linux 3.16+ 上支持 Linux(musl-libc)版本。

问:Corretto 17 支持哪些操作系统?

Corretto 17 安装包由 Amazon 分发,适用于 Linux(glibc)、Linux(musl-libc)、Windows 和 macOS。

Windows 版本支持范围包括版本 10 或更高版本、Server 2016、Server 2019 和 Server 2022。

macOS 版本支持范围包括仍在从 Apple 接收安全补丁的所有 macOS 版本。目前支持的版本包括 x64(Intel)和 aarch64(M1)架构上的 12(Monterey)或更高版本。

Red Hat Enterprise Linux 6+、CentOS 6+、Ubuntu Linux 14+、Debian Linux 8+、Amazon Linux AMI 和 SuSE 12+ 支持 Linux(glibc)版本。

在 Alpine Linux 3.16+ 上支持 Linux(musl-libc)版本。

问:Corretto 21 支持哪些操作系统?

Corretto 21 安装包由 Amazon 分发,适用于 Linux(glibc)、Linux(musl-libc)、Windows 和 macOS。

Windows 版本支持范围包括版本 10 或更高版本、Server 2016、Server 2019 和 Server 2022。

macOS 版本支持范围包括仍在从 Apple 接收安全补丁的所有 macOS 版本。目前支持的版本包括 x64(Intel)和 aarch64(M1)架构上的 12(Monterey)或更高版本。

Red Hat Enterprise Linux 6+、CentOS 6+、Ubuntu Linux 14+、Debian Linux 8+、Amazon Linux AMI 和 SuSE 12+ 支持 Linux(glibc)版本。

在 Alpine Linux 3.16+ 上支持 Linux(musl-libc)版本。

问:Corretto 22 支持哪些操作系统?

Corretto 22 安装包由 Amazon 分发,适用于 Linux(glibc)、Linux(musl-libc)、Windows 和 macOS。

Windows 版本支持范围包括版本 10 或更高版本、Server 2016、Server 2019 和 Server 2022。

macOS 版本支持范围包括仍在从 Apple 接收安全补丁的所有 macOS 版本。目前支持的版本包括 x64(Intel)和 aarch64(M1)架构上的 12(Monterey)或更高版本。

Red Hat Enterprise Linux 7+、CentOS 7+、Ubuntu Linux 14+、Debian Linux 8+、Amazon Linux AMI 和 SuSE 12+ 支持 Linux(glibc)版本。

在 Alpine Linux 3.16+ 上支持 Linux(musl-libc)版本。

问:Corretto 23 支持哪些操作系统?

Corretto 23 安装包由 Amazon 分发,适用于 Linux(glibc)、Linux(musl-libc)、Windows 和 macOS。

Windows 版本支持范围包括版本 10 或更高版本、Server 2016、Server 2019 和 Server 2022。

macOS 版本支持范围包括仍在从 Apple 接收安全补丁的所有 macOS 版本。目前支持的版本包括 x64(Intel)和 aarch64(M1)架构上的 12(Monterey)或更高版本。

Red Hat Enterprise Linux 6+、CentOS 6+、Ubuntu Linux 14+、Debian Linux 8+、Amazon Linux AMI 和 SuSE 12+ 支持 Linux(glibc)版本。

在 Alpine Linux 3.16+ 上支持 Linux(musl-libc)版本。

问:为什么安全扫描程序显示 Docker 映像有 CVE?

如果安全扫描程序报告称 Corretto-Docker 映像包含 CVE,则建议的第一个操作是寻找该映像的更新版本。更新版 Corretto-Docker 映像可在此网站获得。

如果没有更新版映像可用,请运行相应的命令来更新适用于平台的软件包,例如,在您的 Dockerfiles 或系统中运行“yum update -y --security”(适用于 AmazonLinux)或“apk -U upgrade”(适用于 Alpine Linux)以立即解决问题。

如果没有更新版软件包可用,请将其视为潜在的安全问题,并按照 [AWS 漏洞报告说明] 操作或直接向 AWS 安全部门发送电子邮件至 aws-security@amazon.com。

基本 Docker 映像供应商有责任为映像和包提供及时的安全更新。AWS 仅为 Amazon Linux 提供基础 Docker 映像,这些映像可从 Docker Hub Amazon Linux 2 页面和 Amazon Linux 2 ECR 公有库中获得。基于 Alpine 的 Docker 映像 可从 Docker Hub Alpine Linux 页面获得。

当新基本映像可用时,Docker Hub 会自动重建 Docker 映像,但是 Corretto 团队不会为了引入一次性软件包更新而对我们的 Dockerfile 进行更改。如果基本 Docker 映像供应商尚未正式发布新的基本映像,请联系该供应商,要求在新基本 Docker 映像发行版中解决修复问题。

请注意,如此处所述,CVE 可能会因多种原因出现在 Docker 映像中。

许可和开源

问:Corretto 的许可条款是什么?

Corretto 使用与 OpenJDK 相同的开源许可证发布,后者根据具有类路径例外的 GNU 公共许可证版本 2(具有 CPE 的 GPLv2)获得许可。您可以像使用 OpenJDK 一样使用 Corretto。

问:Amazon 如何为 OpenJDK 做出贡献?

Amazon 于 2017 年开始为 OpenJDK 做出贡献,我们计划增加贡献的数量和复杂性。

问:我能如何为 Corretto 做出贡献?

Amazon 鼓励在将代码导入 Corretto 的过程中为 OpenJDK 项目做出贡献。这样,整个 OpenJDK 社区都会从您的更改中受益。如果您的贡献特定于 Corretto,例如针对编译逻辑,则代码可在 GitHub 上获得,我们将在那里评估问题和拉取请求。

 

过期版本

Corretto 发行版 发行版类型 GA 日期 上次计划更新 生命周期终止
15 FR 2020 年 9 月 24 日 2021 年 1 月 19 日 2021 年 4 月 20 日
16 FR 2021 年 3 月 16 日  2021 年 7 月 20 日 2021 年 10 月 19 日 
18 FR 2022 年 3 月 22 日 2022 年 7 月 19 日 2022 年 10 月 18 日
19 FR 2022 年 9 月 20 日 2023 年 1 月 17 日 2023 年 4 月 19 日
20 FR 2023 年 3 月 21 日 2023 年 7 月 18 日 2023 年 10 月 17 日


FR:功能发布