JLink packaging
experimentalThe jlink extension produces a custom Java runtime image for a Quarkus application.
The image contains only the JDK modules and application modules that are needed to run the application, resulting in a smaller, faster, and more self-contained distribution.
This extension depends on the Quarkus modularity extension to compute the application’s module graph.
|
この技術は、experimentalと考えられています。 experimental モードでは、アイデアを成熟させるために早期のフィードバックが求められます。ソリューションが成熟するまでの間、プラットフォームの安定性や長期的な存在を保証するものではありません。フィードバックは メーリングリスト や GitHubの課題管理 で受け付けています。 とりうるステータスの完全なリストについては、 FAQの項目 を参照してください。 |
前提条件
The jlink extension requires Java 25 or later.
Earlier JDK versions have compatibility issues with the jlink tool that prevent reliable image generation.
使用方法
Add the quarkus-jlink extension to your project.
When the extension is present, a jlink image is produced automatically as part of the normal Quarkus build.
JAR packaging is disabled when jlink is active.
quarkus extension add quarkus-jlink
./mvnw quarkus:add-extension -Dextensions='quarkus-jlink'
./gradlew addExtension --extensions='quarkus-jlink'
After adding the extension, build the project normally:
quarkus build
./mvnw install
./gradlew build
The jlink image is written to the output directory (by default, target/jlink-output/image).
Running the image
To run the application, execute the launcher script in the image’s bin directory:
./target/jlink-output/image/bin/<launcher-name>
The launcher name currently defaults to my-app.
A future release will derive the default from quarkus.package.output-name.
Image layout
The output directory has the standard jlink image structure.
The bin/ directory contains the launcher script.
The lib/ directory contains the JDK runtime modules.
Application modules that are not on the boot module path are placed in lib/quarkus/ and are loaded dynamically on demand after startup by smallrye-modules.
See the modularity guide for an explanation of boot modules and dynamic modules.
設定リファレンス
ビルド時に固定された設定プロパティー。その他の設定プロパティーは、すべて実行時にオーバーライド可能です。
Configuration property |
タイプ |
デフォルト |
|---|---|---|
Whether Environment variable: Show more |
ブーリアン |
|
The minimum heap size to configure for the image. If not given, no minimum heap size is specified. Environment variable: Show more |
||
The maximum heap size to configure for the image. If not given, no maximum heap size is specified. Environment variable: Show more |
||
The image output path. If relative, it will be resolved in terms of the packaging output path. Environment variable: Show more |
path |
|
The name of the launcher script generated in the image’s Environment variable: Show more |
string |
|
The base output directory for the Environment variable: Show more |
path |
|
The path of the staging directory used during the Environment variable: Show more |
path |
|
|
MemorySizeフォーマットについて
A size configuration option recognizes strings in this format (shown as a regular expression): If no suffix is given, assume bytes. |