Please support plugin to generate java runtime for Java application
Metadata
Current evaluation
Closed in favor of #891, which delivered a dedicated Jlink plugin through merged PR #951 (commit ba3891a0).
Resolution: closed superseded
Reason: #824 was explicitly closed in favor of canonical/craft-parts#891. The replacement was implemented by PR #951 in commit ba3891a0.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
Java runtime plugin generates java runtime using jdeps/jlink tools.
Prerequisites:
- JDK is installed in the build image
- ca-certificates-java installed in the build image
- Application Jar files are located in $CRAFT_STAGE/jars/
Operations:
- unpack jar files to a temporary location
- Build classpath using jars found in temporary location (spring packages dependencies under BOOT-INF/
- run jdeps against jars in $CRAFT_STAGE/jars/ using classpath from the step above
- run jlink and deploy image into /usr/lib/jvm/java-<version>-openjdk-<arch>
- link java under /usr/bin/java
- java cacerts copied into staging area and symlinked to openjdk
### Why it needs to get done
Jlink allows to link lean Java runtime images that only contain components of Java runtime required by the application.
Java provided by Ubuntu archive contains all the modules in lib/modules file (200mb). This can go down to as small as 27mb for java.base.
This both reduces attack surface of the Java application and reduces the deployment size.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed superseded | Closed in favor of #891, which delivered a dedicated Jlink plugin through merged PR #951 (commit ba3891a0). | |
| stealth/space-bunny-alpha | — | closed superseded | Closed in favor of canonical/craft-parts#891, which proposed a dedicated jlink plugin for combining jars from multiple Java parts into one lean runtime. | |
| qwen/qwen3.6-35b-a3b | — | — | Feature request for a jdeps/jlink-based Java runtime plugin was closed by the author and superseded by craft-parts#891. Implementation remains pending in the referenced issue. | |
| qwen/qwen3.6-35b-a3b | — | — | Request for a lean Java runtime generation plugin was closed by the author. The feature is superseded and now tracked in issue #891. No implementation occurred. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed by the author and superseded by craft-parts issue #891. The request to implement a jdeps/jlink-based Java runtime plugin for lean image generation was redirected to the new tracking issue. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed by the author and superseded by craft-parts issue 891. The request for a jdeps/jlink-based Java runtime plugin to create lean deployment images is now tracked in the referenced issue. |
Update history
No update history recorded yet.
Related work
-
Superseded By:
canonical/craft-parts#891
(confidence 100%)
The closing comment explicitly redirected Jlink plugin support to this dedicated issue.
-
Likely Fixed By:
canonical/craft-parts#951
(confidence 99%)
PR #951 added the Jlink plugin in commit ba3891a0, resolving the replacement issue #891.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #891 Jlink support for Java plugin | craft-parts | closed | Replaced the proposed Java-plugin integration with a dedicated Jlink plugin, added in PR #951 (commit ba3891a0). |