apache / apache/arrow-java

[Java] Upgrade Java version used by toolchain to Java 21 or latest

未关闭
#68 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
Type: Packaging
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。