Pin Maven to 3.8.8 for Java 11 compatibility#104
Merged
ruhan1 merged 2 commits intoCommonjava:masterfrom Feb 4, 2026
Merged
Conversation
The ubuntu-latest runner switched from Ubuntu 22.04 to Ubuntu 24.04 on Jan 17, 2025, which includes Maven 3.9.12. Maven 3.9.6+ enforces stricter Java prerequisites for plugins. While quarkus-maven-plugin 3.6.9 requires Java 17 to execute, our codebase uses Datastax Cassandra Driver 3.7.2 (from path-mapped-storage) which only supports Java 8-11. Upgrading to Datastax Driver 4.x would be a major migration. Pinning to ubuntu-22.04 keeps us on an older Maven version that doesn't enforce the plugin Java requirement as strictly, allowing builds to continue on Java 11. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
3fc1fdd to
2f4fc3d
Compare
Maven 3.9.0+ enforces stricter Java prerequisites for plugins. The quarkus-maven-plugin:3.6.9 requires Java 17 to execute when used with Maven 3.9.x, even though it's compiled for Java 11. Maven 3.8.8 (last pre-3.9 version) doesn't enforce this check, allowing the build to work with Java 11. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Explicitly installs Maven 3.8.8 in GitHub Actions to maintain Java 11 compatibility with Datastax Cassandra Driver 3.x dependency.
Problem
Since GitHub Actions
ubuntu-latestswitched to Ubuntu 24.04 (on Jan 17, 2025), PR builds started failing with:Root Cause:
quarkus-maven-plugin:3.6.9binary was compiled with/requires Java 17 when used with Maven 3.9.xWhy Not Upgrade to Java 17?
The codebase uses Datastax Cassandra Driver 3.7.2 (transitive dependency from
path-mapped-pathdb-datastax:3.0) which only supports Java 8-11:Upgrading to Datastax Driver 4.x (which supports Java 17) would require significant migration effort with package name and API changes (
com.datastax.cassandra→com.datastax.oss.driver).Solution
Explicitly install Maven 3.8.8 (the last version before 3.9.0) in GitHub Actions workflows. Maven 3.8.x doesn't enforce plugin Java prerequisites, allowing the build to work with Java 11.
Changes:
stCarolas/setup-maven@v4.5action to install Maven 3.8.8 before buildsruns-on: ubuntu-22.04for consistencyThis minimal change:
Future Consideration
When ready to migrate to Datastax Driver 4.x, remove the Maven version pin and upgrade to Java 17.
🤖 Generated with Claude Code