RFR: 8345185: Some tests in test/jdk/tools/jpackage fail with a JDK without JMODs
Severin Gehwolf
sgehwolf at openjdk.org
Mon Dec 9 18:49:38 UTC 2024
On Mon, 9 Dec 2024 18:26:13 GMT, Alexey Semenyuk <asemenyuk at openjdk.org> wrote:
> > The question is how useful do users see the need to have jdk.jlink part when they don't use the --runtime-image option and jpackage
>
> If they don't use `--runtime-image` option, and jdk.jlink module is not available there is no way to get a runtime for app packaging. Users will be upset
We still seem to be on different pages :)
Let's try again:
- `jlink` is available. And it works generating a `java.se` runtime image. The gist of JEP 493 is that most use-cases will still work. But you don't need `jmods` anymore.
- Using `jlink`, but including `jdk.jlink` in the output image doesn't work. The restriction of JEP 493 applies.
- Feel free to try this yourself on a standard JDK 24 build and using these steps:
$ ./jdk-24+26/bin/jlink --generate-linkable-runtime --module-path ./jdk-24+26/jmods --add-modules ALL-MODULE-PATH --output ./build/test-linkable-jdk
WARNING: Using incubator modules: jdk.incubator.vector
$ ./build/test-linkable-jdk/bin/jlink --help | tail -n2
Capabilities:
Linking from run-time image enabled
$ ./build/test-linkable-jdk/bin/java --list-modules | grep jdk.jlink
jdk.jlink at 24-ea
The generated JDK in `./build/test-linkable-jdk` will have `jlink`, but no `jmods` (includes all JDK modules, nevertheless). You can create custom runtimes from it, just not include `jdk.jlink` in the output image that you generate.
HTH clarify things.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/22644#issuecomment-2529076860
More information about the core-libs-dev
mailing list