第3章 ネイティブ実行可能ファイルの設定プロパティー
設定プロパティーは、ネイティブ実行可能ファイルの生成方法を定義します。application.properties ファイルを使用して、Quarkus アプリケーションを設定できます。
設定プロパティー
以下の表は、ネイティブ実行可能ファイルの生成方法を定義するよう設定できる設定プロパティーの一覧です。
| プロパティー | 説明 | タイプ | デフォルト |
|---|---|---|---|
|
| ビルドプロセスにパスする追加の引数。 | 文字列の一覧 | |
|
| HTTP URL ハンドラーの有効化。これにより、HTTP URL に URL.openConnection() が可能となります。 | ブール値 |
|
|
| HTTPS URL ハンドラーの有効化。これにより、HTTPS URL に URL.openConnection() が可能となります。 | ブール値 |
|
|
| ネイティブイメージにすべてのセキュリティーサービスを追加します。 | ブール値 |
|
|
| ネイティブイメージにすべてのキャラクターセットを追加します。これにより、イメージサイズが大きくなります。 | ブール値 |
|
|
| Graal ディストリビューションのパスが含まれます。 | 文字列 |
|
|
| JDK のパスが含まれます。 |
| |
|
| ネイティブイメージを生成するために使用する Java の最大ヒープサイズ。 | 文字列 | |
|
| ネイティブイメージのビルドを実行する前に、デバッガーがビルドプロセスにアタッチするのを待ちます。GraalVM インターナルの知識のあるユーザーにとって、これは高度なオプションになります。 | ブール値 |
|
|
| Docker を使用したビルド中にデバッグポートをパブリッシュし、debug-build-process が true の場合。 | ブール値 |
|
|
| ネイティブイメージサーバーを再起動します。 | ブール値 |
|
|
| メモリー管理を向上させるために分離を有効化します。 | ブール値 |
|
|
| ネイティブイメージが失敗した場合は、JVM ベースのフォールバックイメージを作成します。 | ブール値 |
|
|
| ネイティブイメージサーバーを使用します。これにより、コンパイルを高速化することは可能ですが、キャッシュの無効化問題により、ドロップが変更される可能性があります。 | ブール値 |
|
|
| すべての META-INF/services エントリーを自動的に登録します。 | ブール値 |
|
|
| インスペクション用にすべてのプロキシーのバイトコードをダンプします。 | ブール値 |
|
|
| コンテナーランタイムを使用したビルド。デフォルトで Docker が使用されます。 | ブール値 |
|
|
| イメージをビルドするための Docker イメージ。 | 文字列 |
|
|
| イメージをビルドするために使用されるコンテナーランタイム。たとえば、Docker などがあります。 | 文字列 | |
|
| コンテナーランタイムにパスするオプション。 | 文字列の一覧 | |
|
| イメージの VM イントロスペクションを有効化します。 | ブール値 |
|
|
| イメージのフルスタックトレースを有効化します。 | ブール値 |
|
|
| コールパスおよび含まれるパッケージ/クラス/メソッドのレポートを生成します。 | ブール値 |
|
|
| フルスタックトレースを使用して例外を報告します。 | ブール値 |
|
|
| ランタイム時にエラーを報告します。サポート対象外の機能を使用している場合は、お使いのアプリケーションがランタイム時に失敗する可能性があります。 | ブール値 |
|
|
|
ネイティブイメージに追加する必要のあるリソースパスに一致する glob のコンマ区切りリスト。すべてのプラットフォームで、スラッシュ ( | 文字列の一覧 | |
|
| デバッグを有効化し、別の .debug ファイルにデバッグシンボルを生成します。 | ブール値 |
|
サポートされる glob 機能とその説明
以下の表は、サポートされる glob 機能とその説明を一覧表示しています。
| 文字 | 機能の説明 |
|
|
スラッシュ ( |
|
|
スラッシュ ( |
|
| 1 つの文字と一致しますが、スラッシュとは一致しません。 |
|
| ブラケットで指定した範囲の文字の 1 つと一致しますが、スラッシュとは一致しません。 |
|
| ブラケットで指定した範囲の文字の 1 つと一致しますが、スラッシュとは一致しません。 |
|
| ブラケットで指定していない文字の 1 つと一致しますが、スラッシュとは一致しません。 |
|
| ブラケットで指定した範囲外の文字の 1 つと一致しますが、スラッシュとは一致しません。 |
|
| コンマ区切り文字とトークンが交互に連続する文字列で、あらゆるトークンと一致します。トークンには、ワイルドカード、ネストされたオルタネーション、および範囲が含まれます。 |
|
|
エスケープ文字。エスケープには、 |
3.1. Quarkus ネイティブコンパイルのメモリー消費の設定 リンクのコピーリンクがクリップボードにコピーされました!
Quarkus アプリケーションをネイティブ実行可能ファイルにコンパイルすると、分析および最適化の際にメモリーを大量に消費します。quarkus.native.native-image-xmx 設定プロパティーを設定することで、ネイティブコンパイル時に使用されるメモリーの量を制限することができます。メモリー制限を低く設定すると、ビルド時間が長くなる可能性があります。
手順
以下のいずれかの方法を使用して
quarkus.native.native-image-xmxプロパティーに値を設定し、ネイティブイメージのビルドタイム中のメモリー消費を制限します。application.propertiesファイルの使用quarkus.native.native-image-xmx=<maximum_memory>
quarkus.native.native-image-xmx=<maximum_memory>Copy to Clipboard Copied! Toggle word wrap Toggle overflow システムプロパティーの設定
mvn -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.native-image-xmx=<maximum_memory>
mvn -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.native-image-xmx=<maximum_memory>Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、Docker を使用してネイティブ実行可能ファイルをビルドします。
-Dquarkus.native.container-runtime=podman引数を追加して Podman を使用します。
たとえば、メモリー制限を 6 GB に設定するには、quarkus.native.native-image-xmx=6g と入力します。値は、2MB より大きい 1024 の倍数でなければなりません。メガバイトを示す m または M の文字を追加するか、ギガバイトを示す g または G の文字を追加します。