[Java] Upgrade Java version used by toolchain to Java 21 or latest
- 主要語言
- Java
- 星號
- 94
- 分支
- 152
- 平均合併
- 3 天 16 小時
- 30 天內合併 PR
- 11
描述
### Describe the enhancement requested
As of today, Java 8 or higher is required to build Arrow. This is the version used to launch the Maven process and used by the plugins, including maven-compiler-plugin (and indirectly by `javac` or equivalent).
As the tools and plugins used by Arrow are dropping support for Java 8 bit by bit (and potentially Java 11 as well) and as the Java project also keeps introducing new features of potential interest to the community at a regular 6month cadence, updating the toolchain accordingly and regularly seems to become more and more important.
The proposal is to change Java version requirement to build Arrow to use the latest released version.
The proposal does not change the Java version requirement to use Arrow (which would be still Java 8 or possibly [Java 11 starting Arrow 18.0](https://github.com/apache/arrow/issues/38051)). This includes also unit testing.
To achieve this, work will be divided into multiple incremental steps:
- [ ] [[Java] Add support for JDK version cross-testing](https://github.com/apache/arrow/issues/43380)
- [ ] [Java] Enforce new Java version build requirement
### Component(s)
Continuous Integration, Developer Tools, Java
貢獻指南
研究方向
先從 issue 中描述的 Maven 流程和 maven-compiler-plugin 設定開始,然後在變更建置需求之前,檢視連結的 JDK 交叉測試工作。完成的標準是 Arrow 能夠使用最新發布的 Java 版本進行建置,同時 Java 8 仍然是執行階段和單元測試的需求。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- java
- 領域
- build-system, ci-cd, developer-experience
- Issue 類型
- 功能
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 需要釐清
- 新手友好度
- 30/100