-
-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Please provide a brief summary of the bug
The new JMOD-less builds introduced in Temurin 24 negatively impact deployment tools relying on jlink's cross-linking capabilities. This capability, as outlined by Alan Bateman in a highly voted Stack Overflow answer (+51 votes), demonstrates significant community interest:
One prominent example is install4j which is a multi-platform installer builder. install4j allows users to select Adoptium as a JDK provider, generating customized runtime images containing only the necessary modules for the deployed application.
The install4j compiler itself is cross-platform, capable of creating installers for Windows, Linux, and macOS from any host platform. This critical functionality depends on jlink’s cross-linking capabilities.
Other widely used deployment tools and environments also leverage this functionality, including:
moditect: Maven plugin used to create custom Java runtime images across different platforms.
Badass Runtime Plugin: Popular Gradle plugin that builds platform-specific runtime images and installers using jlink.
Notably, other JDK providers such as Zulu, Corretto, and Liberica continue to offer JMOD-enabled builds in their Java 24 releases. Without official JMOD-enabled builds from Adoptium, these critical deployment scenarios will break, significantly affecting users who rely on Adoptium.
Did you test with the latest update version?
- Yes
Please provide steps to reproduce where possible
- Download a 24.0 Temurin JDK for the current platform, extract it to
$CURRENT - Download a 24.0 Temurin JDK for another platform, extract it to
$TARGET.
Expected Results
Executing $CURRENT/bin/jlink with the argument --module-path $TARGET/jmods will generate a runtime image for the target platform.
Actual Results
The jmods directory is no longer present in the Java 24 builds, so the command cannot work and cross-linking is broken.
What Java Version are you using?
jdk-24+36
What is your operating system and platform?
Any
How did you install Java?
No response
Did it work before?
Yes, it worked with 23.Did you test with other Java versions?
Corretto, Zulu and Liberica JDKs still include JMODs in Java 24, so cross-linking continues to work with those providers.