効率的なデプロイ

実行可能 JAR の解凍

実行可能ファイル jar を使用してアプリケーションを実行できますが、ネストされた jar からクラスをロードすると、起動コストが少しかかります。jar のサイズによっては、展開された構造からアプリケーションを実行する方が高速であり、本番環境では推奨されます。特定の PaaS 実装では、実行前にアーカイブを抽出することもできます。例: Cloud Foundry はこのように動作します。

Spring Boot は、さまざまなレイアウトを使用してアプリケーションをディレクトリに抽出することをサポートしています。デフォルトのレイアウトは最も効率的で、CDS フレンドリーです。

このレイアウトでは、ライブラリは lib/ フォルダーに抽出され、アプリケーション JAR にはアプリケーションクラスと、lib/ フォルダー内のライブラリを参照するマニフェストが含まれます。

$ java -Djarmode=tools -jar my-app.jar extract
$ java -jar my-app/my-app.jar

起動後、実行可能ファイル jar の実行と抽出された jar の実行の間で実行時間に違いは生じません。

すべての可能なオプションを確認するには、java -Djarmode=tools -jar my-app.jar help extract を実行します。