SpringBootプロジェクトがパッケージ化された後のプロジェクト構造(例としてjarパッケージを取り上げます)

ルートディレクトリ
     | - 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フォルダクラスは、クラスローダでAppClassLoaderBOOT-INFフォルダとクラスローダが依存関係でありますLaunchedURLClassLoader

warパッケージの構造は、さらにいくつかのディレクトリ( "WEB-INF /"など)を除いて、jarパッケージの構造と似ています。

おすすめ

転載: www.cnblogs.com/flying-snake/p/12689801.html