← Back to issue list

Please support plugin to generate java runtime for Java application

View original Github issue

Metadata

Project
craft-parts
Number
#824
Type
issue
State
closed
Author
vpa1977
Labels
—
Created
Updated
Closed

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).
75%