对于最新的稳定版本,请使用 Spring Boot 3.4.0spring-doc.cn

启动可执行 Jar

Launcher 类是一个特殊的引导类,用作可执行 jar 的主入口点。 它是 jar 文件中的实际值,用于设置适当的 ClassLoader 并最终调用您的方法。Main-Classmain()spring-doc.cn

有三个Starters子类(WarLauncherPropertiesLauncher)。 它们的目的是从目录中的嵌套 jar 文件或 war 文件(而不是 Classpath 上显式的那些文件)加载资源(文件等)。 对于 JarLauncherWarLauncher,嵌套路径是固定的。JarLauncher 在 中查找,WarLauncher 在 和 中查找。 如果需要更多,可以在这些位置添加额外的 jar。JarLauncher.classBOOT-INF/lib/WEB-INF/lib/WEB-INF/lib-provided/spring-doc.cn

默认情况下,PropertiesLauncher 会在您的应用程序存档中查找。 您可以通过设置名为 或 in 的环境变量(该变量是目录、存档或存档中的目录的逗号分隔列表)来添加其他位置。BOOT-INF/lib/LOADER_PATHloader.pathloader.propertiesspring-doc.cn

Starters清单

您需要指定一个适当的 Launcher 作为 的属性。 应在属性中指定要启动的实际类(即包含方法的类)。Main-ClassMETA-INF/MANIFEST.MFmainStart-Classspring-doc.cn

以下示例显示了可执行 jar 文件的典型示例:MANIFEST.MFspring-doc.cn

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

对于 war 文件,它如下所示:spring-doc.cn

Main-Class: org.springframework.boot.loader.launch.WarLauncher
Start-Class: com.mycompany.project.MyApplication
您无需在清单文件中指定条目。 类路径是从嵌套的 jar 中推导出来的。Class-Path