Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

jdk25 upgrade

未關閉
#3,904 1 則留言 0 個 reaction 已指派 1 人 在 GitHub 檢視

維護者通常 2 天內回覆

@shroffk 已經在處理了。

開始於 2026年8月4日。

評估

這個 Issue 還沒有評估資料。

描述

Summary

I am going to close the PR #3839 and re-approach this effort incrementally.

Right now, this migration is blocked by a mesh of related dependency and framework upgrades, and trying to land them in one PR introduces too much change at once for safe review and validation.

Problem

The current JDK 25 migration is not isolated. It pulls in a chain of related upgrades:

  • newer JavaFX requires JDK 25
  • Spring upgrade is needed for JDK 25 support
  • Jackson 3 upgrade is needed for the Spring upgrade path
  • Spring Security 6+ upgrade is needed as part of the Spring migration
  • Elasticsearch upgrade is needed for Jackson 3 compatibility
  • middle-layer service objects need updates, primarily for JSON/XML serialization and deserialization

Because of these dependencies, one PR ends up touching many layers of the system at once. That makes it difficult to:

  • review effectively
  • test confidently
  • identify regressions quickly
  • merge incrementally

Proposed approach

We should split this migration into a sequence of focused efforts instead of one large PR.

low-risk Spring service migration ( alarm-logger, alarm-config-logger )
  • migrate the lowest-complexity Spring service first
  • use that work to validate the Spring/JDK upgrade path
  • confirm compile, test, and packaging behavior before moving on
high-risk Spring service migration (save-restore)
  • migrate the most complex service last
  • handle:
    • Jakarta namespace changes
    • Spring Security updates
    • Elasticsearch compatibility
    • Jackson 3 integration
    • serialization/deserialization updates in service-layer objects
shared dependency reconciliation ( entire phoebus project )
  • reconcile shared/root Spring and related dependency versions
  • remove temporary overrides introduced during the transition
  • validate all Spring services together

Suggested work breakdown

This effort will likely need to be split across multiple PRs, including some combination of:

  • define and document the upgrade order for JDK 25, JavaFX, Spring, Jackson, Spring Security, and Elasticsearch
  • migrate low-risk Spring services first
  • upgrade Spring-dependent services iteratively
  • update Spring Security usage as required by the newer Spring line
  • update Jackson-related serialization/deserialization code
  • update Elasticsearch integration for compatibility
  • update middle-layer service objects impacted by JSON/XML mapping changes
  • run targeted testing after each step
  • run broader regression testing before final convergence on JDK 25

Notes

A more detailed upgrade analysis already exists and can be used as the implementation plan for follow-up issues/PRs, especially for:

  • Spring Boot upgrade sequencing
  • save-and-restore migration details
  • springdoc changes
  • Spring Security API updates
  • Elasticsearch/Jackson compatibility
  • Jakarta namespace migration
主要語言
Java
星號
130
分支
132
平均合併
2 天 11 小時
30 天內合併 PR
19

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 有 Pull Request 範本
  • 沒有貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

ControlSystemStudio/phoebus 的其他 Issue

查看 ControlSystemStudio/phoebus 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。