Skip to content

ATLAS-5002 : Support Java 17 for build and runtime #382

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pareshddevalia
Copy link
Contributor

What changes were proposed in this pull request?

This PR introduces support for Java 17 across both build and runtime environments, while retaining compatibility with Java 8. The system can now be built and executed seamlessly using either JDK 8 or JDK 17.

How was this patch tested?

The patch was validated on both JDK 8 and JDK 17 through full Maven build cycles and runtime execution.

Maven Build Verification

JDK 8:
mvn clean install

JDK 17:
mvn clean install

Scenario 1: JDK 8 Build and Runtime
Scenario 2: JDK 8 Build and JDK 17 Runtime
Scenario 3: JDK 17 Build and Runtime

Note for JDK 17 Users:
Running integration tests (especially Jetty server-based tests) with JDK 17 requires additional JVM arguments due to stricter module access. These can be provided via MAVEN_OPTS:

export MAVEN_OPTS="--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens=java.base/java.util=ALL-UNNAMED \
--add-opens=java.base/java.nio=ALL-UNNAMED \
--add-opens=java.base/java.net=ALL-UNNAMED \
--add-opens=java.base/jdk.internal.ref=ALL-UNNAMED \
--add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED \
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED \
--add-exports=java.base/sun.security.x509=ALL-UNNAMED \
--add-modules java.sql"

Alternatively, you can place these arguments in a .mvn/jvm.config file to avoid exporting them manually for every run.

Additional Notes:
Repository module JUnit tests have been skipped, as they consistently result in JVM crashes or abrupt system exits despite all tests passing. This is being tracked and will be addressed in a separate fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants