啟動可執行 Jar 檔案

org.springframework.boot.loader.launch.Launcher 類別是一個特殊的引導類別,用作可執行 jar 檔案的主要進入點。它是您的 jar 檔案中實際的 Main-Class,用於設定適當的 ClassLoader 並最終呼叫您的 main() 方法。

有三個啟動器子類別 (JarLauncherWarLauncherPropertiesLauncher)。它們的目的是從目錄中巢狀的 jar 檔案或 war 檔案載入資源 (.class 檔案等等) (而不是那些明確在類別路徑上的)。在 JarLauncherWarLauncher 的情況下,巢狀路徑是固定的。JarLauncherBOOT-INF/lib/ 中尋找,而 WarLauncherWEB-INF/lib/WEB-INF/lib-provided/ 中尋找。如果您想要更多,可以在這些位置新增額外的 jar 檔案。

PropertiesLauncher 預設在您的應用程式歸檔的 BOOT-INF/lib/ 中尋找。您可以透過設定名為 LOADER_PATH 的環境變數或 loader.properties 中的 loader.path (它是目錄、歸檔或歸檔內目錄的逗號分隔清單) 來新增其他位置。

啟動器 Manifest

您需要在 META-INF/MANIFEST.MFMain-Class 屬性中指定適當的 Launcher。您想要啟動的實際類別 (即包含 main 方法的類別) 應在 Start-Class 屬性中指定。

以下範例顯示可執行 jar 檔案的典型 MANIFEST.MF

Main-Class: org.springframework.boot.loader.launch.JarLauncher
Start-Class: com.mycompany.project.MyApplication

對於 war 檔案,它將如下所示

Main-Class: org.springframework.boot.loader.launch.WarLauncher
Start-Class: com.mycompany.project.MyApplication
您無需在 manifest 檔案中指定 Class-Path 條目。類別路徑是從巢狀 jar 推導出來的。