1.11. Red Hat build of Quarkus Getting Started アプリケーションをネイティブモードでパッケージ化および実行する
ネイティブモードでは、アプリケーションビルドからの出力は、圧縮またはアーカイブ JAR ファイルではなく、プラットフォームに依存するネイティブバイナリーファイルになります。ネイティブモードと JVM の違いについて、詳しくは Getting Started ガイドの JVM とネイティブビルドモード の章を参照してください。
前提条件
-
OpenJDK 11 または 17 がインストールされており、
JAVA_HOME環境変数を設定して Java SDK の場所を指定している。 - Apache Maven 3.8.6 以降がインストールされている。
- 動作する C development environment がある。
- Docker や Podman などの動作するコンテナーランタイムがある。
オプション: Quarkus コマンドラインインターフェイス (CLI) を使用する場合は、それがインストールされていることを確認してください。
- Quarkus CLI のインストール方法については、Quarkus CLI で該当するコミュニティー情報を参照してください。
- Quarkus Getting Started プロジェクト のクローンを作成してコンパイルしている。
GraalVM のコミュニティーエディションまたはエンタープライズエディションをダウンロードしてインストールした。
- GraalVM のコミュニティーエディションまたはエンタープライズエディションをダウンロードおよびインストールするには、公式の Getting Started with GraalVM ドキュメントを参照してください。
- もしくは、sdkman、homebrew、scoop などの、プラットフォーム固有のインストールツールを使用します。
GraalVM のコミュニティーエディションを使用して Getting Started ガイドのすべての手順を完了できますが、GraalVM のコミュニティーエディションは Red Hat build of Quarkus の実稼働環境ではサポートされません。詳細は、Red Hat build of Quarkus アプリケーションをネイティブ実行可能ファイルにコンパイルする を参照してください。
手順
ランタイム環境を設定するために、
GRAALVM_HOME環境変数を GraalVM インストールディレクトリーに設定します。以下に例を示します。export GRAALVM_HOME=$HOME/Development/graalvm/
export GRAALVM_HOME=$HOME/Development/graalvm/Copy to Clipboard Copied! Toggle word wrap Toggle overflow macOS の場合、変数が
Homeサブディレクトリーを指すようにします。export GRAALVM_HOME=$HOME/Development/graalvm/Contents/Home/
export GRAALVM_HOME=$HOME/Development/graalvm/Contents/Home/Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Windows の場合、コントロールパネルを使用して環境変数を設定します。
native-imageツールをインストールします。${GRAALVM_HOME}/bin/gu install native-image${GRAALVM_HOME}/bin/gu install native-imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow JAVA_HOME環境変数を GraalVM インストールディレクトリーに設定します。export JAVA_HOME=${GRAALVM_HOME}export JAVA_HOME=${GRAALVM_HOME}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GraalVM
binディレクトリーをパスに追加します。export PATH=${GRAALVM_HOME}/bin:$PATHexport PATH=${GRAALVM_HOME}/bin:$PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow Getting Started プロジェクトフォルダーに移動します。
cd getting-started
cd getting-startedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のいずれかの方法で、ネイティブイメージをコンパイルします。
Maven を使用:
mvn clean package -Pnative
mvn clean package -PnativeCopy to Clipboard Copied! Toggle word wrap Toggle overflow Quarkus CLI を使用:
quarkus build --native
quarkus build --nativeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
アプリケーションを起動します。
./target/getting-started-1.0.0-SNAPSHOT-runner
./target/getting-started-1.0.0-SNAPSHOT-runnerCopy to Clipboard Copied! Toggle word wrap Toggle overflow ログメッセージを観察し、
nativeという単語が含まれていることを確認します。2023-08-30 09:51:51,505 INFO [io.quarkus] (main) getting-started 1.0.0-SNAPSHOT native (powered by Red Hat build of Quarkus 3.2.9.Final) started in 0.043s. Listening on: http://0.0.0.0:8080
2023-08-30 09:51:51,505 INFO [io.quarkus] (main) getting-started 1.0.0-SNAPSHOT native (powered by Red Hat build of Quarkus 3.2.9.Final) started in 0.043s. Listening on: http://0.0.0.0:8080Copy to Clipboard Copied! Toggle word wrap Toggle overflow