|
如需获取最新稳定版本,请使用 Spring Boot 4.0.4! |
启动可执行 JAR 文件
Launcher 类是一个特殊的引导类,用作可执行 JAR 文件的主入口点。
它实际上是您 JAR 文件中的 Main-Class,用于配置适当的 ClassLoader,并最终调用您的 main() 方法。
共有三个Starters子类(JarLauncher、WarLauncher 和 PropertiesLauncher)。
它们的作用是从嵌套的 JAR 文件或 WAR 文件所在的目录中加载资源(例如 .class 文件等),而非从显式添加到类路径(classpath)中的文件加载。
对于 JarLauncher 和 WarLauncher,其嵌套路径是固定的。
JarLauncher 在 BOOT-INF/lib/ 中查找,而 WarLauncher 则在 WEB-INF/lib/ 和 WEB-INF/lib-provided/ 中查找。
如需加载更多 JAR 文件,您可在这些位置额外添加。
PropertiesLauncher 默认会在您的应用程序归档文件中查找 BOOT-INF/lib/。
您可以通过在 loader.properties 中设置名为 LOADER_PATH 或 loader.path 的环境变量(该变量值为以逗号分隔的目录、归档文件或归档文件内目录列表)来添加其他查找位置。
Starters清单
您需要指定一个合适的 Launcher 作为 META-INF/MANIFEST.MF 的 Main-Class 属性。
您希望启动的实际类(即包含 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
您无需在清单文件中指定 Class-Path 条目。
类路径将根据嵌套的 JAR 文件自动推导。 |