apache / apache/arrow-java

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

Open
#68 0 comments 1 reaction 0 assignees View on GitHub
Type: Packaging
Dominant language
Java
Stars
94
Forks
152
Avg merge
3d 16h
Merged PRs (30d)
11

Description

### 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

Contributor guide

Open the contributing guide

Research direction

Start with the Maven process and maven-compiler-plugin settings described in the issue, then review the linked JDK cross-testing work before changing the build requirement. Done means Arrow builds with the latest released Java version while Java 8 remains the runtime and unit-testing requirement.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, ci-cd, developer-experience
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.