Amazon Corretto 常見問答集
一般問題
問:什麼是 Amazon Corretto?
Corretto 是一種 Open Java Development Kit (OpenJDK) 組建,享有 Amazon 提供的長期支援。Corretto 使用 Java Technology Compatibility Kit (TCK) 進行認證,確保符合 Java SE 標準並可在 Linux、Windows 和 macOS 上使用。
問:為什麼我應該使用 Corretto?
Corretto 是 OpenJDK 的可靠組建,可確保您享有免費提供的長期支援。Amazon 在數千種生產服務內部運作 Corretto。我們對 Corretto 進行的每一次修改,皆可修復或緩解在執行 OpenJDK 時發現的問題。Amazon 還規劃在一般季度週期以外,在對使用者可用且準備就緒時套用緊急修正 (包括安全性)。
問:Corretto 與 OpenJDK 有哪些差異?
Corretto 是 Open JDK 的發行版本,其中包含未整合於對應 OpenJDK 更新專案的 Amazon 修補程式。我們致力推出可增進 OpenJDK 效能或穩定性的修補程式,其是根據 Amazon 執行大型服務的觀察所嚴選。
問:Amazon 想要在 Corretto 中包含哪些種類的修補程式?
修補程式將包括安全性修正、效能強化 (例如加快頻繁使用的功能)、垃圾回收排程、防止記憶體不足的情況,以及增進的監控、報告和執行緒管理。
問:使用 Corretto 是否需要支付任何相關費用?
Corretto 是由 Amazon 在開放原始碼授權下分發,您無須支付任何費用。其根據具有 Class Path Exception 的 GNU 公眾授權版本 2 (GPLv2 with CPE) 獲得授權。Amazon 對於其使用或分發不收取任何費用。
問:長期支援 (LTS) 對 Corretto 有何意義?
Amazon Corretto 是免費的多平台生產就緒 Open Java Development Kit (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 儲存庫向我們提出功能請求。
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 月 |
問:若我需要 Corretto 協助時該怎麼辦?
如需關於安裝或執行 Corretto 的一般問題,請參閱我們的文件。若您有與 OpenJDK 相關的問題,請開啟上游 OpenJDK 專案的問題。若您有關於 Corretto 的特定問題,或是功能請求不適用於 OpenJDK,請在 Corretto GitHub 儲存庫中開啟問題或功能請求。若您已擁有 AWS Support 方案,則可透過您的計畫尋求 Corretto 協助。
使用 Amazon Corretto
問:可否使用 Corretto 做為其他 JDK 的直接替代方案?
Corretto 專為做為所有 Java SE 分發版本的直接替代方案而設計 (除非您使用不適用於 OpenJDK 的功能)。若已將 Corretto 二進位檔安裝於主機且正確調用執行 Java 應用程式 (例如在 Linux 上使用替代命令),現有的命令列選項、調整參數、監控和其他現行項目將繼續如常運作。
問:JavaFX 是否隨附於 Corretto? 其搭售的 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 皆支援 macOS 組建,且仍會接收 Apple 的安全性修補程式。目前支援的版本為 x64 (Intel) 上的 12 (Monterey) 或更新版本,以及 aarch64 (M1) 架構上的更新版本。
Linux (glibc) 組建支援 Red Hat Enterprise Linux 6+、CentOS 6+、Ubuntu Linux 14+、Debian Linux 8+、Amazon Linux AMI 和 SuSE 12+。
Linux (musl-libc) 組建支援 Alpine Linux 3.16+。
問:Corretto 11 支援哪些作業系統?
Corretto 11 安裝套件係由 Amazon 分發,適用於 Linux (glibc)、Linux (musl-libc)、Windows 和 macOS。
Windows 組建支援第 10 版或更新版本、Server 2016、Server 2019 和 Server 2022。
所有版本的 macOS 皆支援 macOS 組建,且仍會接收 Apple 的安全性修補程式。目前支援的版本為 x64 (Intel) 上的 12 (Monterey) 或更新版本,以及 aarch64 (M1) 架構上的更新版本。
Linux (glibc) 組建支援 Red Hat Enterprise Linux 6+、CentOS 6+、Ubuntu Linux 14+、Debian Linux 8+、Amazon Linux AMI 和 SuSE 12+。
Linux (musl-libc) 組建支援 Alpine Linux 3.16+。
問:Corretto 17 支援哪些作業系統?
Corretto 17 安裝套件係由 Amazon 分發,適用於 Linux (glibc)、Linux (musl-libc)、Windows 和 macOS。
Windows 組建支援第 10 版或更新版本、Server 2016、Server 2019 和 Server 2022。
所有版本的 macOS 皆支援 macOS 組建,且仍會接收 Apple 的安全性修補程式。目前支援的版本為 x64 (Intel) 上的 12 (Monterey) 或更新版本,以及 aarch64 (M1) 架構上的更新版本。
Linux (glibc) 組建支援 Red Hat Enterprise Linux 6+、CentOS 6+、Ubuntu Linux 14+、Debian Linux 8+、Amazon Linux AMI 和 SuSE 12+。
Linux (musl-libc) 組建支援 Alpine Linux 3.16+。
問:Corretto 21 支援哪些作業系統?
Corretto 21 安裝套件係由 Amazon 分發,適用於 Linux (glibc)、Linux (musl-libc)、Windows 和 macOS。
Windows 組建支援第 10 版或更新版本、Server 2016、Server 2019 和 Server 2022。
所有版本的 macOS 皆支援 macOS 組建,且仍會接收 Apple 的安全性修補程式。目前支援的版本為 x64 (Intel) 上的 12 (Monterey) 或更新版本,以及 aarch64 (M1) 架構上的更新版本。
Linux (glibc) 組建支援 Red Hat Enterprise Linux 6+、CentOS 6+、Ubuntu Linux 14+、Debian Linux 8+、Amazon Linux AMI 和 SuSE 12+。
Linux (musl-libc) 組建支援 Alpine Linux 3.16+。
問:Corretto 22 支援哪些作業系統?
Corretto 22 安裝套件係由 Amazon 分發,適用於 Linux (glibc)、Linux (musl-libc)、Windows 和 macOS。
Windows 組建支援第 10 版或更新版本、Server 2016、Server 2019 和 Server 2022。
所有版本的 macOS 皆支援 macOS 組建,且仍會接收 Apple 的安全性修補程式。目前支援的版本為 x64 (Intel) 上的 12 (Monterey) 或更新版本,以及 aarch64 (M1) 架構上的更新版本。
Linux (glibc) 組建支援 Red Hat Enterprise Linux 7+、CentOS 7+、Ubuntu Linux 14+、Debian Linux 8+、Amazon Linux AMI 和 SuSE 12+。
Linux (musl-libc) 組建支援 Alpine Linux 3.16+。
問:Corretto 23 支援哪些作業系統?
Corretto 23 安裝套件係由 Amazon 分發,適用於 Linux (glibc)、Linux (musl-libc)、Windows 和 macOS。
Windows 組建支援第 10 版或更新版本、Server 2016、Server 2019 和 Server 2022。
所有版本的 macOS 皆支援 macOS 組建,且仍會接收 Apple 的安全性修補程式。目前支援的版本為 x64 (Intel) 上的 12 (Monterey) 或更新版本,以及 aarch64 (M1) 架構上的更新版本。
Linux (glibc) 組建支援 Red Hat Enterprise Linux 6+、CentOS 6+、Ubuntu Linux 14+、Debian Linux 8+、Amazon Linux AMI 和 SuSE 12+。
Linux (musl-libc) 組建支援 Alpine Linux 3.16+。
問:為何安全性掃描工具會顯示 Docker 映像檔具有 CVE?
若安全性掃描工具報告 Corretto-Docker 映像檔包含 CVE,則第一個建議的動作是尋找此映像的更新版本。您可在此網站 找到更新的 Corretto Docker 映像檔。
若無可用的更新映像檔,請執行適當命令以更新平台套件,例如在您的 Docker 檔案或系統中執行「yum update-y--security」,或在您的 Docker 檔案或系統中為 Alpine Linux 執行「apk -U upgrade」,以立即解決問題。
若無可用的更新套件,請將此視為潛在的安全性問題,並遵循 [AWS 漏洞報告說明],或直接透過 aws-security@amazon.com 傳送電子郵件給 AWS 安全性部門。
基礎 Docker 映像檔供應商有責任為映像檔和套件提供及時的安全性更新。AWS 僅提供適用於 Amazon Linux 的基礎 Docker 映像檔,這些映像檔可透過 Docker Hub Amazon Linux 2 頁面和 Amazon Linux 2 ECR 公共映像庫來取得。您可從 Docker Hub Alpine Linux 頁面,取得以 Alpine 為基礎的 Docker 映像檔。
當提供新的基礎映像檔時,Docker Hub 會自動重建 Docker 映像檔,但 Corretto 團隊不會對我們的 Docker 檔案進行變更來提取一次性套件更新。若基礎 Docker 映像檔供應商尚未正式提供新的基礎映像檔,請聯絡該供應商要求在新的基礎 Docker 映像檔分發版本中解決修正。
請注意,CVE 可能出現在 Docker 映像檔中的原因有多種,如此處所述。
授權和開放原始碼
問:Corretto 的授權條款為何?
Corretto 係在與 OpenJDK 相同的開放原始碼授權下發行,其是根據具有 Class Path Exception 的 GNU 公眾授權版本 2 (GPLv2 with CPE) 獲得授權。您可以像使用 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:功能發行版本