Java近期新聞:Java穩定值、SpringModulith、OpenLiberty、Quarkus、JReleaser

作者 | Michael Redlich
譯者 | 明知山
策劃 | 丁曉昀
OpenJDK
JEP 502(穩定值(預覽))已從 Candidate 狀態進入到 Proposed to Target 狀態,目標版本為 JDK 25。該 JEP 此前叫作計算常量(預覽),引入了計算常量的概念,即最多初始化一次的不可變值持有者。這一特性提供了 final 欄位的效能和安全性,同時在初始化時間上提供了更大的靈活性。評審於 2025 年 3 月 7 日結束。
JEP 503(移除 32 位 x86 移植)已從 JEP Draft 8345168 進入到 Candidate 狀態。該 JEP 提議“移除對 32 位 x86 移植版本原始碼和構建的支援。”這是 JEP 501(棄用 32 位 x86 移植版本)的後續工作,計劃在即將到來的 JDK 24 版本中釋出。
JDK 24
JDK 24 早期訪問構建版本 的當前版本仍然是 Build 36,更多細節可在釋出說明中找到。
JDK 25
JDK 25 早期訪問構建版本的 Build 12 也已釋出,包含自 Build 11 以來的更新,修復了各種問題。更多關於此版本的細節可在釋出說明中找到。
對於 JDK 24 和 JDK 25,開發者可以透過 Java Bug Database 報告問題。
Jakarta EE 11
在每週的 Hashtag Jakarta EE 部落格中,Eclipse 基金會 Jakarta EE 開發佈道師 Ivar Grimstad 提供了有關 Jakarta EE 11 和 Jakarta EE 12 的更新:
隨著 Jakarta EE 11 Web Profile 的 TCK 工作接近完成,Jakarta EE 12 的規劃進入了一個新階段。作為 Jakarta EE 12 的釋出負責人,Jared Anderson 要求各元件規範在 2025 年 4 月 15 日前提交發布計劃。其中一些已經準備好了計劃評審材料。
Jakarta NoSQL 1.0 的釋出評審正在進行中(將於 2025 年 3 月 11 日結束)。
Jakarta EE 11 的釋出歷程包含了四個里程碑版本,在 2024 年 12 月釋出的 Core Profile,以及在 2025 年第一季度 Web Profile 的候選釋出版本和 2025 年第二季度平臺的通用釋出版本之前根據需要可能釋出的候選版本。
到目前為止,Jakarta EE 12 的計劃評審已經提交了 Jakarta Context and Dependency Injection 5.0、Jakarta Data 1.1 和 Jakarta Faces 5.0。
Spring Framework
Spring Modulith 1.4.0 第二個里程碑版本以及服務版本 1.3.3 和 1.2.9 釋出,包含了錯誤修復和依賴項升級。1.4.0-M2 版本的新功能包括:增加新類 ApplicationModuleIdentifiers 和 ApplicationModuleMetadata,分別作為應用模組識別符號的有序集合和生成元資料的抽象,向下遊基礎設施元件公開所需資訊;ApplicationModulesExporter 類的例項暴露 ApplicationModuleInitializer 介面 bean 的能力。這些版本的更多細節可在 1.4.0-M2 版本、1.3.3 版本和 1.2.9 版本的釋出說明中找到。
Quarkus
Quarkus 3.19 釋出,包含了錯誤修復、依賴項升級和新功能,例如:預設切換到 Red Hat Universal Base Image 9;一個新的從當前使用 Micrometer 實現的指標到 OpenTelemetry 格式的橋接;以及對 JEP 48(預先類載入和連結)的支援,該功能將在即將釋出的 JDK 24 中釋出。更多關於此版本的細節可在釋出說明中找到。
Quarkus 團隊還宣佈,他們解決了影響 3.15 和 3.8 系列版本的多個 CVE,包括:
  • CVE-2025-24970,Netty 4.1.91.Final 到 4.1.117.Final 的一個漏洞,當 SslHandler 類例項在接收到特製資料包時未能正確處理驗證,可能導致崩潰。
  • CVE-2025-1247,Quarkus REST(Jakarta RESTful Web Services 規範的實現)的一個缺陷,攻擊者可能操縱請求資料、冒充使用者或訪問敏感資訊。如果端點使用欄位注入而沒有 CDI 作用域,可能導致併發請求之間的請求引數洩露。
  • CVE-2025-1634,Quarkus RESTEasy Classic 擴充套件的一個缺陷,當客戶端請求超時時,緩衝區未能正確釋放,導致記憶體使用增加,最終因 OutOfMemoryError 導致應用崩潰。
  • CVE-2024-12225,目前處於保密狀態,與預設啟用的 WebAuthn 回撥端點相關,現在需要顯式配置。
這些 CVE 在 Quarkus 3.19.1 以及服務版本 3.15.3.1 和 3.8.6.1 中得到修復和緩解。
Open Liberty
IBM 釋出 Open Liberty 25.0.0.2,支援 AES-256 密碼加密;更新了指南,幫助使用者構建具有整合使用者介面和後端邏輯的動態 Web 應用,並新增 MicroProfile 7.0 和無版本特性指南;解決了 CVE-2024-47535,這是 Netty 4.1.114 及以下版本中的一個漏洞,攻擊者可利用 Windows 系統環境檔案的不安全讀取進行拒絕服務攻擊並導致應用崩潰。
Apache 軟體基金會
Camel Quarkus 3.19.0 釋出,與 Quarkus 保持一致,包含 Camel 4.10.0 和 Quarkus 3.19.0。該版本帶來了一些顯著的變化,例如:透過 Quarkus NativeMonitoringBuildItem 類自動啟用原生監控功能;移除了 /observe 端點的可觀測性服務配置變通方法。更多關於此版本的細節可在釋出說明中找到。
Apache Groovy 4.0.26 和 3.0.24 釋出(分別在這裡和這裡),包含了錯誤修復、依賴項升級和一個改進:將 Groovy 編譯器的 parameter 標誌傳給 javac 命令。更多細節可在 4.0.26 版本 和 3.0.24 版本的釋出說明中找到。
JReleaser
JReleaser 1.17.0 釋出,這是一個簡化專案釋出的 Java 工具,包含了錯誤修復、文件改進、依賴項升級和新功能,例如:使用新的 Matrix 部分引數化分發的能力;支援使用 mavenCentral 部署器釋出 -SNAPSHOT 擴充套件工件;新增自定義 Scoop 清單的能力。更多關於此版本的細節可在釋出說明中找到。
Gradle
Gradle 8.13.0 釋出,引入了一個新的自動配置工具,可自動下載 Gradle 守護程序所需的 JVM。其他顯著改進包括:為 Scala 外掛顯式配置 Scala 版本,以便自動解析所需的 Scala 工具鏈依賴項;JUnit XML 測試事件時間戳的精度提升至毫秒級。更多關於此版本的細節可在釋出說明中找到。
檢視英文原文:
https://www.infoq.com/news/2025/03/java-news-roundup-feb24-2025/
宣告:本文為 InfoQ 翻譯,未經許可禁止轉載。
今日好文推薦
“AI原生”標準MCP突然爆紅!引爆LangChain大佬“內戰”:是顛覆OpenAI的技術突破,還是配不上當前關注的玩具?
12 人小團隊如何成就英偉達萬億市值?CUDA 架構師首次親述真正的算力“壁壘”形成過程
程式碼界的“瘟疫”?卡帕西“Vibe Coding”興起,YC披露:1/4新創公司,95%程式碼全由AI生成
OpenAI 又貴又“黑”,微軟對供應商亮起“紅燈”:曝出自研大模型,DeepSeek 或成救星?

相關文章