1.4. ネイティブ実行可能ファイルの設定プロパティー
設定プロパティーは、ネイティブ実行可能ファイルの生成方法を定義します。application.properties ファイルを使用して、Quarkus アプリケーションを設定できます。
設定プロパティー
以下の表は、ネイティブ実行可能ファイルの生成方法を定義するよう設定できる設定プロパティーのリストです。
| プロパティー | 説明 | 型 | デフォルト |
|
|
デバッグを有効にし、別の | boolean |
|
|
| ネイティブイメージに追加するべきではないリソースパスに一致する glob のコンマ区切りリスト。 | 文字列のリスト | |
|
| ビルドプロセスにパスする追加の引数。 | 文字列のリスト | |
|
|
HTTP URL ハンドラーを有効にします。これにより、HTTP URL に対して | boolean |
|
|
|
HTTPS URL ハンドラーを有効にします。これにより、HTTPS URL に対して | boolean |
|
|
| ネイティブイメージにすべてのセキュリティーサービスを追加します。 | boolean |
|
|
| ネイティブイメージにすべてのキャラクターセットを追加します。これにより、イメージサイズが大きくなります。 | boolean |
|
|
| GraalVM ディストリビューションのパスが含まれます。 | string |
|
|
| JDK のパスが含まれます。 | file |
|
|
| ネイティブイメージを生成するために使用する Java の最大ヒープサイズ。 | string | |
|
| ネイティブイメージのビルドを実行する前に、デバッガーがビルドプロセスにアタッチするまで待機します。GraalVM インターナルの知識のあるユーザーにとって、これは高度なオプションになります。 | boolean |
|
|
|
| boolean |
|
|
| ネイティブイメージサーバーを再起動します。 | boolean |
|
|
| メモリー管理を改善するために分離を有効にします。 | boolean |
|
|
| ネイティブイメージが失敗した場合に、JVM ベースのフォールバックイメージを作成します。 | boolean |
|
|
| ネイティブイメージサーバーを使用します。これによりコンパイルが高速化されますが、キャッシュ無効化の問題により変更が失われる可能性があります。 | boolean |
|
|
|
すべての | boolean |
|
|
| 検査用にすべてのプロキシーのバイトコードをダンプします。 | boolean |
|
|
| コンテナーランタイムを使用するビルド。デフォルトで Docker が使用されます。 | boolean |
|
|
| イメージをビルドするための Docker イメージ。 | string |
|
|
| イメージのビルドに使用されるコンテナーランタイム。たとえば、Docker などがあります。 | string | |
|
| コンテナーランタイムにパスするオプション。 | 文字列のリスト | |
|
| イメージの VM イントロスペクションを有効化します。 | boolean |
|
|
| イメージのフルスタックトレースを有効化します。 | boolean |
|
|
| 呼び出しパスと、含まれるパッケージ、クラス、メソッドのレポートを生成します。 | boolean |
|
|
| フルスタックトレースを使用して例外を報告します。 | boolean |
|
|
| ランタイム時にエラーを報告します。これにより、サポートされていない機能を使用すると、ランタイムでアプリケーションが失敗する可能性があります。 | boolean |
|
|
|
ネイティブイメージに追加する必要のあるリソースパスに一致する glob のコンマ区切りリスト。すべてのプラットフォームで、パス区切り文字としてスラッシュ ( | 文字列のリスト |
ビルド設定中に、プロジェクト内で共通のパターンまたは場所を共有する一連のファイルまたはリソースを含める場合は、glob パターンを使用できます。
たとえば、複数の設定ファイルを含むディレクトリーがある場合は、glob パターンを使用してそのディレクトリー内のすべてのファイルを含めることができます。
以下に例を示します。
quarkus.native.resources.includes = my/config/files/*
quarkus.native.resources.includes = my/config/files/*
次の例は、ネイティブイメージに追加するリソースパスに一致する glob のコンマ区切りリストを示しています。これらのパターンにより、クラスパスで見つかったすべての .png イメージがネイティブイメージに追加されるほか、サブディレクトリーの下にネストされている場合でも、フォルダーバーの下の .txt で終わるすべてのファイルが追加されます。
quarkus.native.resources.includes = **/*.png,bar/**/*.txt
quarkus.native.resources.includes = **/*.png,bar/**/*.txt
サポートされている glob 機能
次の表は、サポートされる glob 機能とその説明をリスト化したものです。
| 文字 | 機能の説明 |
|
|
スラッシュ ( |
|
|
スラッシュ ( |
|
| 1 つの文字と一致しますが、スラッシュとは一致しません。 |
|
| 括弧内に指定された 1 文字を照合しますが、スラッシュは照合しません。 |
|
| ブラケットで指定した範囲の文字の 1 つと一致しますが、スラッシュとは一致しません。 |
|
| ブラケットで指定していない文字の 1 つと一致しますが、スラッシュとは一致しません。 |
|
| ブラケットで指定した範囲外の文字の 1 つと一致しますが、スラッシュとは一致しません。 |
|
| コンマで区切られた代替のトークンを照合します。トークンには、ワイルドカード、ネストされた論理和指定子、範囲が含まれます。 |
|
|
エスケープ文字。エスケープには、 |
1.4.1. Red Hat build of Quarkus ネイティブコンピレーションのメモリー消費を設定する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of 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 package -Dnative -Dquarkus.native.container-build=true -Dquarkus.native.native-image-xmx=<maximum_memory>
mvn package -Dnative -Dquarkus.native.container-build=true -Dquarkus.native.native-image-xmx=<maximum_memory>Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、Docker を使用してネイティブ実行可能ファイルをビルドします。Podman を使用するには、
-Dquarkus.native.container-runtime=podman引数を追加します。
たとえば、メモリー制限を 8 GB に設定するには、quarkus.native.native-image-xmx=8g を入力します。値は、2MB より大きい 1024 の倍数にする必要があります。メガバイトを示す m または M、ギガバイトを示す g または G の文字を追加します。