[Java] Upgrade Java version used by toolchain to Java 21 or latest
- 主要言語
- Java
- スター
- 94
- フォーク
- 152
- 平均マージ
- 3日 16時間
- マージ済み PR(30日)
- 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