对于最新稳定版本,请使用 Spring Boot 4.0.4spring-doc.cadn.net.cn

PropertiesLauncher 功能

PropertiesLauncher 具有一些特殊功能,可以通过外部属性(系统属性、环境变量、清单条目或 loader.properties)启用。 下表描述了这些属性:spring-doc.cadn.net.cn

目的

loader.pathspring-doc.cadn.net.cn

以逗号分隔的类路径(Classpath),例如 lib,${HOME}/app/lib。 靠前的条目具有更高的优先级,类似于在 -classpath 命令行中使用常规的 javac 参数。spring-doc.cadn.net.cn

loader.homespring-doc.cadn.net.cn

用于解析 loader.path 中的相对路径。 例如,若设置 loader.path=lib,则 ${loader.home}/lib 是一个类路径位置(包括该目录下的所有 jar 文件)。 此属性还用于定位 loader.properties 文件,如下例所示:/opt/app。其默认值为 ${user.dir}spring-doc.cadn.net.cn

loader.argsspring-doc.cadn.net.cn

主方法的默认参数(以空格分隔)。spring-doc.cadn.net.cn

loader.mainspring-doc.cadn.net.cn

要启动的主类名称(例如,com.app.Application)。spring-doc.cadn.net.cn

loader.config.namespring-doc.cadn.net.cn

属性文件的名称(例如,launcher)。 默认值为 loaderspring-doc.cadn.net.cn

loader.config.locationspring-doc.cadn.net.cn

属性文件的路径(例如,classpath:loader.properties)。 默认值为 loader.propertiesspring-doc.cadn.net.cn

loader.systemspring-doc.cadn.net.cn

一个布尔标志,用于指示是否应将所有属性添加到系统属性(System properties)中。 默认值为 falsespring-doc.cadn.net.cn

当指定为环境变量或清单条目时,应使用以下名称:spring-doc.cadn.net.cn

清单条目 环境变量

loader.pathspring-doc.cadn.net.cn

Loader-Pathspring-doc.cadn.net.cn

LOADER_PATHspring-doc.cadn.net.cn

loader.homespring-doc.cadn.net.cn

Loader-Homespring-doc.cadn.net.cn

LOADER_HOMEspring-doc.cadn.net.cn

loader.argsspring-doc.cadn.net.cn

Loader-Argsspring-doc.cadn.net.cn

LOADER_ARGSspring-doc.cadn.net.cn

loader.mainspring-doc.cadn.net.cn

Start-Classspring-doc.cadn.net.cn

LOADER_MAINspring-doc.cadn.net.cn

loader.config.locationspring-doc.cadn.net.cn

Loader-Config-Locationspring-doc.cadn.net.cn

LOADER_CONFIG_LOCATIONspring-doc.cadn.net.cn

loader.systemspring-doc.cadn.net.cn

Loader-Systemspring-doc.cadn.net.cn

LOADER_SYSTEMspring-doc.cadn.net.cn

构建插件在生成 uber jar 时会自动将 Main-Class 属性移动为 Start-Class。 如果你使用该功能,请通过 Main-Class 属性指定要启动的类名,并省略 Start-Class

以下规则适用于使用 PropertiesLauncherspring-doc.cadn.net.cn

  • loader.properties 会依次在 loader.home、类路径(classpath)的根目录,以及 classpath:/BOOT-INF/classes 中进行查找。 使用第一个找到该名称文件的位置。spring-doc.cadn.net.cn

  • loader.home 是一个额外属性文件的目录位置(用于覆盖默认值),但仅在未指定 loader.config.location 时生效。spring-doc.cadn.net.cn

  • loader.path 可以包含目录(会递归扫描其中的 jar 和 zip 文件)、归档文件路径、归档文件中的某个目录(用于扫描其中的 jar 文件,例如 dependencies.jar!/lib),或者通配符模式(采用 JVM 的默认行为)。 归档文件路径可以相对于 loader.home,也可以是文件系统中的任意位置,但需带有 jar:file: 前缀。spring-doc.cadn.net.cn

  • loader.path(如果为空)默认为 BOOT-INF/lib(表示本地目录,如果是从归档文件运行则为嵌套目录)。 因此,在未提供额外配置的情况下,PropertiesLauncher 的行为与 JarLauncher 相同。spring-doc.cadn.net.cn

  • loader.path 不能用于配置 loader.properties 的位置(当 PropertiesLauncher 启动时,用于搜索后者的类路径是 JVM 类路径)。spring-doc.cadn.net.cn

  • 在使用之前,占位符替换会从系统变量、环境变量以及属性文件本身对所有值进行处理。spring-doc.cadn.net.cn

  • 属性的搜索顺序(在多个位置查找有意义的情况下)依次为:环境变量、系统属性、loader.properties、解压后的归档文件清单(manifest)以及归档文件清单(manifest)。spring-doc.cadn.net.cn