此版本仍在开发中,尚未视为稳定版。如需最新稳定版本,请使用 Spring Boot 4.0.4spring-doc.cadn.net.cn

启动可执行 JAR 文件

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

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

PropertiesLauncher 默认会在您的应用程序归档中的 BOOT-INF/lib/ 中查找。 您可以通过在 loader.properties 中设置名为 LOADER_PATHloader.path 的环境变量来添加其他位置(该变量是一个由目录、归档文件或归档文件内的目录组成的逗号分隔列表)。spring-doc.cadn.net.cn

Starters清单

您需要将适当的 Launcher 指定为 META-INF/MANIFEST.MFMain-Class 属性。 您想要启动的实际类(即包含 main 方法的类)应在 Start-Class 属性中指定。spring-doc.cadn.net.cn

以下示例展示了一个可执行 JAR 文件的典型 MANIFEST.MF 文件:spring-doc.cadn.net.cn

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

对于 WAR 文件,其内容如下所示:spring-doc.cadn.net.cn

Main-Class: org.springframework.boot.loader.launch.WarLauncher
Start-Class: com.mycompany.project.MyApplication
你无需在清单文件(manifest file)中指定 Class-Path 条目。 类路径(classpath)会从嵌套的 JAR 文件中自动推断得出。