効率的なデプロイ
実行可能ファイル jar の解凍
実行可能ファイル jar を使用してアプリケーションを実行できますが、ネストされた jar からクラスをロードすると、起動コストが少しかかります。jar のサイズによっては、展開された構造からアプリケーションを実行する方が高速であり、本番環境では推奨されます。特定の PaaS 実装では、実行前にアーカイブを抽出することもできます。例: Cloud Foundry はこのように動作します。
Spring Boot は、さまざまなレイアウトを使用してアプリケーションをディレクトリに抽出することをサポートしています。デフォルトのレイアウトは最も効率的で、CDS フレンドリーです。
このレイアウトでは、ライブラリは lib/
フォルダーに抽出され、アプリケーション jar にはアプリケーションクラスと、lib/
フォルダー内のライブラリを参照するマニフェストが含まれます。
実行可能ファイル jar を解凍するには、次のコマンドを実行します。
$ java -Djarmode=tools -jar my-app.jar extract
そして、本番環境では、抽出した jar を実行できます。
$ java -jar my-app/my-app.jar
起動後、実行可能ファイル jar の実行と抽出された jar の実行の間で実行時間に違いは生じません。
すべての可能なオプションを確認するには、java -Djarmode=tools -jar my-app.jar help extract を実行します。 |