啟動可執行 Jar 檔案
org.springframework.boot.loader.launch.Launcher
類別是一個特殊的引導類別,用作可執行 jar 檔案的主要進入點。它是您的 jar 檔案中實際的 Main-Class
,用於設定適當的 ClassLoader
並最終呼叫您的 main()
方法。
有三個啟動器子類別 (JarLauncher
、WarLauncher
和 PropertiesLauncher
)。它們的目的是從目錄中巢狀的 jar 檔案或 war 檔案載入資源 (.class
檔案等等) (而不是那些明確在類別路徑上的)。在 JarLauncher
和 WarLauncher
的情況下,巢狀路徑是固定的。JarLauncher
在 BOOT-INF/lib/
中尋找,而 WarLauncher
在 WEB-INF/lib/
和 WEB-INF/lib-provided/
中尋找。如果您想要更多,可以在這些位置新增額外的 jar 檔案。
PropertiesLauncher
預設在您的應用程式歸檔的 BOOT-INF/lib/
中尋找。您可以透過設定名為 LOADER_PATH
的環境變數或 loader.properties
中的 loader.path
(它是目錄、歸檔或歸檔內目錄的逗號分隔清單) 來新增其他位置。
啟動器 Manifest
您需要在 META-INF/MANIFEST.MF
的 Main-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 推導出來的。 |