ルートディレクトリ | - boot- INF
| -クラス
| - libに | -メタ- INF | - ORG
- BOOT-INFディレクトリ
- プロジェクトコードに対応する.classファイルは、classesディレクトリに保存されます。
- libディレクトリには、プロジェクトに依存するパッケージが格納されます。これは、jarパッケージの形式で格納されます(jarファイルはjarファイルに格納され、「FatJar」と呼ばれる特別な名前があります)
- META-INF
- マニフェストファイルを保存します。その内容は、現在実行可能なjarパッケージの基本情報を示します
- その中には、主に2つの説明があります。
- メインクラス
-
jarパッケージを記述するエントリファイル(メインメソッドが配置されているクラス)
-
Springフレームワークが修正されました
org.springframework.boot.loader.JarLauncher
-
この属性を定義した後、改行する必要があります
-
- スタートクラス
-
カスタムメインメソッドの完全な名前を説明してください
-
- メインクラス
- 組織
-
SpringBootプロジェクトをパッケージ化した後、いくつかの関連する起動クラスを保存します
-
SpringBootの管理とセキュリティに関する考慮事項のため、パッケージ化では「プロジェクトコードと依存関係パッケージを分離する」方法を使用します(依存関係パッケージ内のすべての.classファイルをプロジェクトの.classファイルとマージする以前の方法とは異なります)。後のjar / warパッケージには依然、依存jarパッケージが含まれており、jarパッケージ仕様に準拠していません。依存jarパッケージは、デフォルトのローダーではロードできません
-
もはやプロジェクトの調製方法が、使用メインエントランスではありませんので、jarファイルの仕様を回避するために、SpringBootは、プロジェクト全体をロードするために、カスタムローダーを使用する
org.springframework.boot.loader.JarLauncher
クラスは、起動時にロードプロジェクトにすべてのカスタムローダーを作成しますクラス -
このように、パケットSpringBootプロジェクトは、唯一の
org
フォルダクラスは、クラスローダでAppClassLoader
、BOOT-INF
フォルダとクラスローダが依存関係でありますLaunchedURLClassLoader
-
warパッケージの構造は、さらにいくつかのディレクトリ( "WEB-INF /"など)を除いて、jarパッケージの構造と似ています。